X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=internals%2F_PDCLIB_aux.h;h=3de8d4a9deeac2361fd981b4d1fcfc9406d6beb4;hb=1755b59a8885757e3ceab7da3a35f7803905694c;hp=e7e908a66e413d70cee645fc2ad26b8e0749049d;hpb=219271fd548949abce8bd75c34dd42e519418fc4;p=pdclib diff --git a/internals/_PDCLIB_aux.h b/internals/_PDCLIB_aux.h index e7e908a..3de8d4a 100644 --- a/internals/_PDCLIB_aux.h +++ b/internals/_PDCLIB_aux.h @@ -58,6 +58,14 @@ #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 @@ -83,6 +91,11 @@ #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 @@ -97,6 +110,11 @@ #endif #endif +#ifndef _PDCLIB_nothrow + #define _PDCLIB_nothrow + #define _PDCLIB_noexcept +#endif + #ifndef _PDCLIB_EXPORT #define _PDCLIB_EXPORT #endif @@ -159,6 +177,7 @@ #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 ) @@ -233,4 +252,4 @@ #endif #endif -#endif \ No newline at end of file +#endif