]> pd.if.org Git - pdclib/blobdiff - internals/_PDCLIB_aux.h
<float.h> is now implemented in the platform independent portion. It is based
[pdclib] / internals / _PDCLIB_aux.h
index e7e908a66e413d70cee645fc2ad26b8e0749049d..3de8d4a9deeac2361fd981b4d1fcfc9406d6beb4 100644 (file)
        #define _PDCLIB_inline   inline
 #endif
 
+#if _PDCLIB_CXX_VERSION >= 2011
+  #define _PDCLIB_nothrow     noexcept
+  #define _PDCLIB_noexcept(x) noexcept(x)
+#elif _PDCLIB_CXX_VERSION
+  #define _PDCLIB_nothrow     throw()
+  #define _PDCLIB_noexcept
+#endif
+
 #if _PDCLIB_CXX_VERSION >= 2011
   // Hold off on C++ attribute syntax for now
   // #define _PDCLIB_noreturn [[noreturn]]
@@ -71,9 +79,9 @@
 #endif
 
 #ifdef __GNUC__
-       #ifndef _PDCLIB_EXPORT
-               #define _PDCLIB_EXPORT __attribute__((__visibility__("protected")))
-       #endif
+         #ifndef _PDCLIB_EXPORT
+           #define _PDCLIB_EXPORT __attribute__((__visibility__("protected")))
+    #endif
 
        #ifndef _PDCLIB_IMPORT
                #define _PDCLIB_IMPORT
                #define _PDCLIB_HIDDEN __attribute__((__visibility__("hidden")))
        #endif
 
+    #ifndef _PDCLIB_nothrow
+      #define _PDCLIB_nothrow __attribute__((__nothrow__))
+      #define _PDCLIB_noexcept
+    #endif
+
        #ifndef _PDCLIB_restrict
                #define _PDCLIB_restrict __restrict
        #endif
        #endif
 #endif
 
+#ifndef _PDCLIB_nothrow
+  #define _PDCLIB_nothrow
+  #define _PDCLIB_noexcept
+#endif
+
 #ifndef _PDCLIB_EXPORT
        #define _PDCLIB_EXPORT
 #endif
 
 #define _PDCLIB_cc( x, y )     x ## y
 #define _PDCLIB_concat( x, y ) _PDCLIB_cc( x, y )
+#define _PDCLIB_concat3( x, y, z ) _PDCLIB_concat( _PDCLIB_concat( x, y ), z )
 
 #define _PDCLIB_symbol2value( x ) #x
 #define _PDCLIB_symbol2string( x ) _PDCLIB_symbol2value( x )
     #endif
 #endif
 
-#endif
\ No newline at end of file
+#endif