| // RUN: %clang_cc1 -fsyntax-only -std=c++11 %s -verify -Wsuggest-override |
| |
| struct A { |
| ~A(); |
| void run(); |
| }; |
| |
| struct B : public A { |
| ~B(); |
| void run(); |
| }; |
| |
| struct C { |
| virtual void run(); // expected-note 2{{overridden virtual function is here}} |
| virtual ~C(); |
| }; |
| |
| struct D : public C { |
| void run(); |
| // expected-warning@-1 {{'run()' overrides a member function but is not marked 'override'}} |
| ~D(); |
| }; |
| |
| struct E : public C { |
| virtual void run(); |
| // expected-warning@-1 {{'run()' overrides a member function but is not marked 'override'}} |
| virtual ~E(); |
| }; |
| |
| struct F : public C { |
| void run() override; |
| ~F() override; |
| }; |
| |
| struct G : public C { |
| void run() final; |
| ~G() final; |
| }; |