// RUN: %clang_extdef_map %s -- | FileCheck --implicit-check-not "c:@y" --implicit-check-not "c:@z" %s
// RUN: %clang -emit-ast %s -o %t.ast
// RUN: %clang_extdef_map %t.ast -- | FileCheck --implicit-check-not "c:@y" --implicit-check-not "c:@z" %s
int
// CHECK-DAG: 9:c:@F@f#I#
extern const int x = 5;
// CHECK-DAG: 4: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;
;
extern S const s = ;
// CHECK-DAG: 4:c:@s
;
extern const SF sf = ;
// CHECK-DAG: 5:c:@sf
;
const int SStatic::a;
// CHECK-DAG: 14:c:@S@SStatic@a
extern int const arr = ;
// CHECK-DAG: 6:c:@arr
;
extern const U u = ;
// CHECK-DAG: 4:c:@u
// No USR can be generated for this.
// Check for no crash in this case.
static ;
void ;
void ;
;