Files
clang-p2996/clang/test/CodeGenCXX/debug-info-global.cpp
David Blaikie 506a745a0a Reapply r205655, DebugInfo: Place global constants in their appropriate context.
This was reverted in 205664 and seems to be fixed by 205668... though
that may be more by accident than anything well founded.

llvm-svn: 205669
2014-04-05 07:46:57 +00:00

20 lines
619 B
C++

// RUN: %clang_cc1 -triple x86_64-none-linux-gnu -emit-llvm -g %s -o - | FileCheck %s
// Multiple references to the same constant should result in only one entry in
// the globals list.
namespace ns {
const int cnst = 42;
}
int f1() {
return ns::cnst + ns::cnst;
}
// CHECK: metadata [[GLOBALS:![0-9]*]], metadata {{![0-9]*}}, metadata !"{{.*}}", i32 {{[0-9]*}}} ; [ DW_TAG_compile_unit ]
// CHECK: [[GLOBALS]] = metadata !{metadata [[CNST:![0-9]*]]}
// CHECK: [[CNST]] = {{.*}}, metadata [[NS:![0-9]*]], metadata !"cnst", {{.*}}; [ DW_TAG_variable ] [cnst]
// CHECK: [[NS]] = {{.*}}; [ DW_TAG_namespace ] [ns]