23 lines
		
	
	
		
			367 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			367 B
		
	
	
	
		
			C++
		
	
	
	
// RUN: %clang_cc1 -std=c++11 %s -verify
 | 
						|
// expected-no-diagnostics
 | 
						|
 | 
						|
struct A { void f(); };
 | 
						|
struct C { void f(); };
 | 
						|
struct B : A { typedef A X; };
 | 
						|
struct D : C { typedef C X;   void g(); };
 | 
						|
 | 
						|
void D::g() 
 | 
						|
{
 | 
						|
    B * b = new B;
 | 
						|
    b->X::f(); // lookup for X finds B::X
 | 
						|
}
 | 
						|
 | 
						|
typedef int X;
 | 
						|
void h(void) 
 | 
						|
{
 | 
						|
    B * b = new B;
 | 
						|
    b->X::f(); // lookup for X finds B::X
 | 
						|
}
 | 
						|
 | 
						|
 |