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