https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79393
Bug ID: 79393
Summary: [7 Regression] cc1plus rejects valid code with
noexcept
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: mpolacek at gcc dot gnu.org
Target Milestone: ---
We used to compile this just fine:
class C {
public:
virtual ~C() noexcept(false);
};
class A : virtual C {
virtual C m_fn1() = 0;
};
class B : A {};
but since r240874 I'm getting
s.cc:8:7: error: looser throw specifier for ‘virtual B::~B() noexcept (false)’
class B : A {};
^
s.cc:5:7: error: overriding ‘virtual A::~A() noexcept’
class A : virtual C {
^