// 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; | |
}; |