28 lines · cpp
1// RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify -Wsuggest-destructor-override2 3struct A {4 ~A();5 virtual void run();6};7 8struct B : public A {9 ~B();10};11 12struct C {13 virtual void run();14 virtual ~C(); // expected-note 2{{overridden virtual function is here}}15};16 17struct D : public C {18 void run();19 ~D();20 // expected-warning@-1 {{'~D' overrides a destructor but is not marked 'override'}}21};22 23struct E : public C {24 void run();25 virtual ~E();26 // expected-warning@-1 {{'~E' overrides a destructor but is not marked 'override'}}27};28