#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(); // expected-warning{{Call virtual functions during construction or destruction will never go to a more derived class}}
}
virtual int foo();
};
}
#endif