Index: libopenmpt/libopenmpt.hpp =================================================================== --- libopenmpt/libopenmpt.hpp (revision 6595) +++ libopenmpt/libopenmpt.hpp (working copy) @@ -117,9 +117,9 @@ private: char * text; public: - exception( const std::string & text ) throw(); - virtual ~exception() throw(); - virtual const char * what() const throw(); + exception( const std::string & text ) LIBOPENMPT_NOEXCEPT; + virtual ~exception() LIBOPENMPT_NOEXCEPT; + virtual const char * what() const LIBOPENMPT_NOEXCEPT; }; // class exception //! Get the libopenmpt version number Index: libopenmpt/libopenmpt_config.h =================================================================== --- libopenmpt/libopenmpt_config.h (revision 6595) +++ libopenmpt/libopenmpt_config.h (working copy) @@ -178,6 +178,28 @@ #endif #endif +#ifdef __cplusplus +#if defined(LIBOPENMPT_FORCE_NOEXCEPT_CXX98) +#define LIBOPENMPT_NOEXCEPT throw() +#elif defined(IBOPENMPT_FORCE_NOEXCEPT_CXX03) +#define LIBOPENMPT_NOEXCEPT throw() +#elif defined(IBOPENMPT_FORCE_NOEXCEPT_CXX11) +#define LIBOPENMPT_NOEXCEPT noexcept +#elif defined(IBOPENMPT_FORCE_NOEXCEPT_CXX14) +#define LIBOPENMPT_NOEXCEPT noexcept +#elif defined(IBOPENMPT_FORCE_NOEXCEPT_CXX17) +#define LIBOPENMPT_NOEXCEPT noexcept +#elif (__cplusplus >= 201402L) +#define LIBOPENMPT_NOEXCEPT noexcept +#elif (__cplusplus >= 201103L) +#define LIBOPENMPT_NOEXCEPT noexcept +#elif (__cplusplus >= 199711L) +#define LIBOPENMPT_NOEXCEPT throw() +#else +#define LIBOPENMPT_NOEXCEPT throw() +#endif +#endif + #include "libopenmpt_version.h" #endif /* LIBOPENMPT_CONFIG_H */ Index: libopenmpt/libopenmpt_cxx.cpp =================================================================== --- libopenmpt/libopenmpt_cxx.cpp (revision 6595) +++ libopenmpt/libopenmpt_cxx.cpp (working copy) @@ -21,7 +21,7 @@ namespace openmpt { -exception::exception( const std::string & text ) throw() +exception::exception( const std::string & text ) LIBOPENMPT_NOEXCEPT : std::exception() , text(0) { @@ -31,7 +31,7 @@ } } -exception::~exception() throw() { +exception::~exception() LIBOPENMPT_NOEXCEPT { if ( text ) { std::free( text ); text = 0; @@ -38,7 +38,7 @@ } } -const char * exception::what() const throw() { +const char * exception::what() const LIBOPENMPT_NOEXCEPT { if ( text ) { return text; } else {