blob: 8dc30c8923166ff67d8ddf3742a151ea3e3d9ba8 [file] [log] [blame]
David Blaikiebb113912014-04-05 07:23:17 +00001// RUN: %clang_cc1 -triple x86_64-none-linux-gnu -emit-llvm -g %s -o - | FileCheck %s
2
3// Multiple references to the same constant should result in only one entry in
4// the globals list.
5
David Blaikie506a7452014-04-05 07:46:57 +00006namespace ns {
David Blaikiebb113912014-04-05 07:23:17 +00007const int cnst = 42;
David Blaikie506a7452014-04-05 07:46:57 +00008}
David Blaikiebb113912014-04-05 07:23:17 +00009int f1() {
David Blaikie506a7452014-04-05 07:46:57 +000010 return ns::cnst + ns::cnst;
David Blaikiebb113912014-04-05 07:23:17 +000011}
12
13// CHECK: metadata [[GLOBALS:![0-9]*]], metadata {{![0-9]*}}, metadata !"{{.*}}", i32 {{[0-9]*}}} ; [ DW_TAG_compile_unit ]
14
15// CHECK: [[GLOBALS]] = metadata !{metadata [[CNST:![0-9]*]]}
16
David Blaikie506a7452014-04-05 07:46:57 +000017// CHECK: [[CNST]] = {{.*}}, metadata [[NS:![0-9]*]], metadata !"cnst", {{.*}}; [ DW_TAG_variable ] [cnst]
18// CHECK: [[NS]] = {{.*}}; [ DW_TAG_namespace ] [ns]
19