Home | History | Annotate | Download | only in basic.lookup.classref
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 // expected-no-diagnostics
      3 
      4 // C++0x [basic.lookup.classref]p3:
      5 //   If the unqualified-id is ~type-name, the type-name is looked up in the
      6 //   context of the entire postfix-expression. If the type T of the object
      7 //   expression is of a class type C, the type-name is also looked up in the
      8 //   scope of class C. At least one of the lookups shall find a name that
      9 //   refers to (possibly cv-qualified) T.
     10 
     11 // From core issue 305
     12 struct A {
     13 };
     14 
     15 struct C {
     16   struct A {};
     17   void f ();
     18 };
     19 
     20 void C::f () {
     21   ::A *a;
     22   a->~A ();
     23 }
     24 
     25 // From core issue 414
     26 struct X {};
     27 void f() {
     28   X x;
     29   struct X {};
     30   x.~X();
     31 }
     32