forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			51 lines
		
	
	
		
			843 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			843 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_extdef_map %s -- | FileCheck --implicit-check-not "c:@y" --implicit-check-not "c:@z" %s
 | |
| 
 | |
| int f(int) {
 | |
|   return 0;
 | |
| }
 | |
| // CHECK-DAG: c:@F@f#I#
 | |
| 
 | |
| extern const int x = 5;
 | |
| // CHECK-DAG: c:@x
 | |
| 
 | |
| // Non-const variables should not be collected.
 | |
| int y = 5;
 | |
| 
 | |
| // In C++, const implies internal linkage, so not collected.
 | |
| const int z = 5;
 | |
| 
 | |
| struct S {
 | |
|   int a;
 | |
| };
 | |
| extern S const s = {.a = 2};
 | |
| // CHECK-DAG: c:@s
 | |
| 
 | |
| struct SF {
 | |
|   const int a;
 | |
| };
 | |
| SF sf = {.a = 2};
 | |
| // CHECK-DAG: c:@sf
 | |
| 
 | |
| struct SStatic {
 | |
|   static const int a = 4;
 | |
| };
 | |
| const int SStatic::a;
 | |
| // CHECK-DAG: c:@S@SStatic@a
 | |
| 
 | |
| extern int const arr[5] = { 0, 1 };
 | |
| // CHECK-DAG: c:@arr
 | |
| 
 | |
| union U {
 | |
|   const int a;
 | |
|   const unsigned int b;
 | |
| };
 | |
| U u = {.a = 6};
 | |
| // CHECK-DAG: c:@u
 | |
| 
 | |
| // No USR can be generated for this.
 | |
| // Check for no crash in this case.
 | |
| static union {
 | |
|   float uf;
 | |
|   const int ui;
 | |
| };
 |