From 665b6242fc338bb21ee8ac5131012cf6d230ed1e Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Wed, 31 Aug 2016 12:57:38 +0200 Subject: Work around symbol exporting issues, throw() deprecation --- xml/details/config.hxx | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'xml/details') 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 -- cgit v1.1