| #ifdef AS_SYSTEM |
| #pragma clang system_header |
| |
| namespace system { |
| class A { |
| public: |
| A() { |
| foo(); // no-warning |
| } |
| |
| virtual int foo(); |
| }; |
| } |
| |
| #else |
| |
| namespace header { |
| class A { |
| public: |
| A() { |
| foo(); |
| #if !PUREONLY |
| #if INTERPROCEDURAL |
| // expected-warning-re@-3 {{{{^}}Call Path : fooCall to virtual function during construction will not dispatch to derived class}} |
| #else |
| // expected-warning-re@-5 {{{{^}}Call to virtual function during construction will not dispatch to derived class}} |
| #endif |
| #endif |
| |
| } |
| |
| virtual int foo(); |
| }; |
| } |
| |
| #endif |