blob: d0e8cb542d1842bc98a8ebb2183b52bcaaebe1dd [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
Duncan P. N. Exon Smithf04be1f2015-03-03 17:25:55 +000013// CHECK: !MDCompileUnit(
14// CHECK-SAME: globals: [[GLOBALS:![0-9]*]]
David Blaikiebb113912014-04-05 07:23:17 +000015
Duncan P. N. Exon Smithb3a66692014-12-15 19:10:08 +000016// CHECK: [[GLOBALS]] = !{[[CNST:![0-9]*]]}
David Blaikiebb113912014-04-05 07:23:17 +000017
Duncan P. N. Exon Smithf04be1f2015-03-03 17:25:55 +000018// CHECK: [[CNST]] = !MDGlobalVariable(name: "cnst",
19// CHECK-SAME: scope: [[NS:![0-9]*]]
20// CHECK: [[NS]] = !MDNamespace(name: "ns"
David Blaikie506a7452014-04-05 07:46:57 +000021