53 lines
		
	
	
		
			508 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			508 B
		
	
	
	
		
			C++
		
	
	
	
// RUN: %clang_cc1 -fsyntax-only -verify %s
 | 
						|
class C { };
 | 
						|
 | 
						|
C c;
 | 
						|
 | 
						|
void D(int);
 | 
						|
 | 
						|
class D {};
 | 
						|
 | 
						|
void foo()
 | 
						|
{
 | 
						|
  D(5);
 | 
						|
  class D d;
 | 
						|
}
 | 
						|
 | 
						|
class D; // expected-note {{previous use is here}}
 | 
						|
 | 
						|
enum D; // expected-error {{use of 'D' with tag type that does not match previous declaration}}
 | 
						|
 | 
						|
class A * A;
 | 
						|
 | 
						|
class A * a2;
 | 
						|
 | 
						|
void bar()
 | 
						|
{
 | 
						|
  A = 0;
 | 
						|
}
 | 
						|
 | 
						|
void C(int);
 | 
						|
 | 
						|
void bar2()
 | 
						|
{
 | 
						|
  C(17);
 | 
						|
}
 | 
						|
 | 
						|
extern int B;
 | 
						|
class B;
 | 
						|
class B {};
 | 
						|
int B;
 | 
						|
 | 
						|
enum E { e1_val };
 | 
						|
E e1;
 | 
						|
 | 
						|
void E(int);
 | 
						|
 | 
						|
void bar3() {
 | 
						|
  E(17);
 | 
						|
}
 | 
						|
 | 
						|
enum E e2;
 | 
						|
 | 
						|
enum E2 { E2 };
 |