diff options
Diffstat (limited to 'xml/details/config.hxx')
-rw-r--r-- | xml/details/config.hxx | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/xml/details/config.hxx b/xml/details/config.hxx index da76390..656880a 100644 --- a/xml/details/config.hxx +++ b/xml/details/config.hxx @@ -5,6 +5,32 @@ #ifndef XML_DETAILS_CONFIG_HXX #define XML_DETAILS_CONFIG_HXX +// C++11 support. +// +#ifdef _MSC_VER +# if _MSC_VER >= 1900 +# define STUDXML_CXX11_NOEXCEPT +# endif +#else +# if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L +# ifdef __clang__ // Pretends to be a really old __GNUC__ on some platforms. +# define STUDXML_CXX11_NOEXCEPT +# elif defined(__GNUC__) +# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4 +# define STUDXML_CXX11_NOEXCEPT +# endif +# else +# define STUDXML_CXX11_NOEXCEPT +# endif +# endif +#endif + +#ifdef STUDXML_CXX11_NOEXCEPT +# define STUDXML_NOTHROW_NOEXCEPT noexcept +#else +# define STUDXML_NOTHROW_NOEXCEPT throw() +#endif + // Note: the same in expat/config.h // #ifdef LIBSTUDXML_BUILD2 |