C++11 changed destructor semantics to be noexcept(true) by default, leading to potentially changed semantics. See also: https://bugs.gentoo.org/show_bug.cgi?id=595308 --- a/src/Fampp2.cpp +++ b/src/Fampp2.cpp @@ -105,6 +105,9 @@ // #include FamppRequest::~FamppRequest() +#if __cplusplus >= 201103L + noexcept(false) +#endif { // cerr << "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" << endl; // cerr << "FamppRequest::~FamppRequest() this:" << (void*)this << endl; @@ -245,6 +248,9 @@ FamppImplMethods::~FamppImplMethods() +#if __cplusplus >= 201103L + noexcept(false) +#endif { if(0 != FAMClose( &theFAMConnection )) { throw FamppCloseFailedException(); --- a/src/Fampp2.hh +++ b/src/Fampp2.hh @@ -168,7 +168,11 @@ public: - ~FamppRequest(); + ~FamppRequest() +#if __cplusplus >= 201103L + noexcept(false) +#endif + ; void suspend(); @@ -216,7 +220,11 @@ protected: FamppImplMethods(); - virtual ~FamppImplMethods(); + virtual ~FamppImplMethods() +#if __cplusplus >= 201103L + noexcept(false) +#endif + ; public: @@ -251,7 +259,11 @@ public: FamppSingletonClass(); FamppSingletonClass(const std::string appName); - ~FamppSingletonClass(); + ~FamppSingletonClass() +#if __cplusplus >= 201103L + noexcept(false) +#endif + ; void NextEvent();