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