This is still broken because it causes certain tests to be
run twice with slightly different configurations, which is
wrong in some cases.
You can observe this by running:
ninja -nv check-all | grep debuginfo-tests
And seeing that it passes clang/test and clang/test/debuginfo-tests
to lit, which causes it to run debuginfo-tests twice. The fix is
going to involve either:
a) figuring out that we're running in this "deprecated" configuration,
and then deleting the clang/test/debuginfo-tests path, which should
cause it to behave identically to before, or:
b) make lit smart enough that it doesn't descend into a sub-suite if
that sub-suite already has a lit.cfg file.
llvm-svn: 318486
33 lines
560 B
C++
33 lines
560 B
C++
// RUN: %clangxx %target_itanium_abi_host_triple -O0 -g %s -c -o %t.o
|
|
// RUN: %clangxx %target_itanium_abi_host_triple %t.o -o %t.out
|
|
// RUN: %test_debuginfo %s %t.out
|
|
// Radar 8945514
|
|
// DEBUGGER: break 22
|
|
// DEBUGGER: r
|
|
// DEBUGGER: p v
|
|
// CHECK: ${{[0-9]+}} =
|
|
// CHECK: Data ={{.*}} 0x0{{(0*)}}
|
|
// CHECK: Kind = 2142
|
|
|
|
class SVal {
|
|
public:
|
|
~SVal() {}
|
|
const void* Data;
|
|
unsigned Kind;
|
|
};
|
|
|
|
void bar(SVal &v) {}
|
|
class A {
|
|
public:
|
|
void foo(SVal v) { bar(v); }
|
|
};
|
|
|
|
int main() {
|
|
SVal v;
|
|
v.Data = 0;
|
|
v.Kind = 2142;
|
|
A a;
|
|
a.foo(v);
|
|
return 0;
|
|
}
|