#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]]
#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