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