
Tests in the `cross-project-tests/debuginfo-tests/llgdb-tests` directory run gdb on non-darwin platforms. gdb versions less than 10.1 cannot parse the DWARF v5 emitted by clang, and DWARF v5 is now the default, so these tests fail on Linux with gdb versions less than 10.1. This patch lets us XFAIL the tests under these conditions. Add `gdb-clang-incompatibility` to the `available_features` in `cross-project-tests/lit.cfg.py` when clang's default DWARF version is 5 or greater and the gdb (if found) version is less than 10.1. Discourse discussion: https://llvm.discourse.group/t/gdb-10-1-cant-read-clangs-dwarf-v5/6035 Reviewed By: jmorse Differential Revision: https://reviews.llvm.org/D118468
23 lines
539 B
C++
23 lines
539 B
C++
// RUN: %clangxx %target_itanium_abi_host_triple -O0 -g %s -c -o %t.o
|
|
// RUN: %test_debuginfo %s %t.o
|
|
// XFAIL: !system-darwin && gdb-clang-incompatibility
|
|
// Radar 9440721
|
|
// If debug info for my_number() is emitted outside function foo's scope
|
|
// then a debugger may not be able to handle it. At least one version of
|
|
// gdb crashes in such cases.
|
|
|
|
// DEBUGGER: ptype foo
|
|
// CHECK: int (void)
|
|
|
|
int foo() {
|
|
struct Local {
|
|
static int my_number() {
|
|
return 42;
|
|
}
|
|
};
|
|
|
|
int i = 0;
|
|
i = Local::my_number();
|
|
return i + 1;
|
|
}
|