blob: 920db82409bc2a0f6c9899da41a42caa4b9cf948 [file] [log] [blame]
Douglas Katzman3459ce22015-10-08 04:24:12 +00001// RUN: %clang_cc1 -triple x86_64-none-linux-gnu -emit-llvm -debug-info-kind=limited %s -o - | FileCheck %s
David Blaikiebb113912014-04-05 07:23:17 +00002
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 Smith9dd4e4e2015-04-29 16:40:08 +000013// CHECK: !DICompileUnit(
Duncan P. N. Exon Smithf04be1f2015-03-03 17:25:55 +000014// 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 Smith9dd4e4e2015-04-29 16:40:08 +000018// CHECK: [[CNST]] = !DIGlobalVariable(name: "cnst",
Duncan P. N. Exon Smithf04be1f2015-03-03 17:25:55 +000019// CHECK-SAME: scope: [[NS:![0-9]*]]
Duncan P. N. Exon Smith9dd4e4e2015-04-29 16:40:08 +000020// CHECK: [[NS]] = !DINamespace(name: "ns"
David Blaikie506a7452014-04-05 07:46:57 +000021