Douglas Gregor 46841e1bd9 Implement crazy destructor name lookup semantics differently in
C++98/03 and C++0x, since the '0x semantics break valid C++98/03
code. This new mess is tracked by core issue 399, which is still
unresolved.

Fixes PR6358 and PR6359.

llvm-svn: 96836
2010-02-23 00:15:22 +00:00

24 lines
272 B
C++

// RUN: %clang_cc1 -std=c++0x -fsyntax-only -verify %s
struct C {
typedef int I;
};
typedef int I1, I2;
extern int* p;
extern int* q;
void f() {
p->C::I::~I();
q->I1::~I2();
}
struct A {
~A();
};
typedef A AB;
int main() {
AB *p;
p->AB::~AB();
}