forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			32 lines
		
	
	
		
			659 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			659 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify %s
 | |
| // expected-no-diagnostics
 | |
| 
 | |
| // C++0x [basic.lookup.classref]p3:
 | |
| //   If the unqualified-id is ~type-name, the type-name is looked up in the 
 | |
| //   context of the entire postfix-expression. If the type T of the object 
 | |
| //   expression is of a class type C, the type-name is also looked up in the 
 | |
| //   scope of class C. At least one of the lookups shall find a name that 
 | |
| //   refers to (possibly cv-qualified) T.
 | |
| 
 | |
| // From core issue 305
 | |
| struct A {
 | |
| };
 | |
| 
 | |
| struct C {
 | |
|   struct A {};
 | |
|   void f ();
 | |
| };
 | |
| 
 | |
| void C::f () {
 | |
|   ::A *a;
 | |
|   a->~A ();
 | |
| }
 | |
| 
 | |
| // From core issue 414
 | |
| struct X {};
 | |
| void f() {
 | |
|   X x;
 | |
|   struct X {};
 | |
|   x.~X();
 | |
| }
 |