http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61067
Bug ID: 61067 Summary: [C++11] Explicit destructor declaration without exception-specification gets invalid exception-specification Product: gcc Version: 4.7.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jaak at ristioja dot ee $ cat test.cpp struct Base { virtual ~Base() noexcept; }; struct A { ~A(); }; // Should mean noexcept struct Derived: Base { A a; }; $ g++ -std=c++11 test.cpp test.cpp:3:8: error: looser throw specifier for 'virtual Derived::~Derived()' test.cpp:1:23: error: overriding 'virtual Base::~Base() noexcept (true)' Compiles with GCC 4.8.2. This might be related to PR 50893, PR 56340 or PR 56343, but studying those bug reports I've been unable to figure out whether this a duplicate of any of those. If this is a duplicate, please state 1) the exact SVN commits which fix this, and 2) whether this fix will be included in 4.7.4. Thanks!