blob: e7a60970e1e26d73770e7acfb4d02cd0abed06e1 [file] [log] [blame]
// RUN: %clang_cc1 -triple i686-pc-win32 -cxx-abi itanium -fsyntax-only %s
// RUN: %clang_cc1 -triple i686-pc-win32 -cxx-abi microsoft -verify %s
// Should be accepted under the Itanium ABI (first RUN line) but rejected
// under the Microsoft ABI (second RUN line), as Microsoft ABI requires
// operator delete() lookups to be done at all virtual destructor declaration
// points.
struct A {
void operator delete(void *); // expected-note {{member found by ambiguous name lookup}}
};
struct B {
void operator delete(void *); // expected-note {{member found by ambiguous name lookup}}
};
struct C : A, B {
~C();
};
struct VC : A, B {
virtual ~VC(); // expected-error {{member 'operator delete' found in multiple base classes of different types}}
};