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 {
       ^

Reply via email to