Clang Project

clang_source_code/test/CodeGen/debug-info-global-constant.c
1// RUN: %clang_cc1 -emit-llvm -debug-info-kind=standalone \
2// RUN:      -triple %itanium_abi_triple %s -o - | FileCheck %s
3
4// Debug info for a global constant whose address is taken should be emitted
5// exactly once.
6
7// CHECK: @i = internal constant i32 1, align 4, !dbg ![[I:[0-9]+]]
8// CHECK: ![[I]] = !DIGlobalVariableExpression(var: ![[VAR:.*]], expr: !DIExpression(DW_OP_constu, 1, DW_OP_stack_value))
9// CHECK: ![[VAR]] = distinct !DIGlobalVariable(name: "i",
10// CHECK: !DICompileUnit({{.*}}globals: ![[GLOBALS:[0-9]+]]
11// CHECK: ![[GLOBALS]] = !{![[I]]}
12static const int i = 1;
13
14void g(const int *, int);
15void f() {
16  g(&i, i);
17}
18