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!

Reply via email to