forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			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 };
 |