1// RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify -Wsuggest-destructor-override 2 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