xref: /llvm-project/lldb/test/Shell/SymbolFile/DWARF/x86/dwarf5-partial-index.cpp (revision 8a64d80a959bf2844df33f9112e456f33de7b468)
1*8a64d80aSDavid Spickett // Test that we return complete results when only a part of the binary is built
2*8a64d80aSDavid Spickett // with an index.
3*8a64d80aSDavid Spickett 
4*8a64d80aSDavid Spickett // REQUIRES: lld
5*8a64d80aSDavid Spickett 
6*8a64d80aSDavid Spickett // RUN: %clang %s -c -o %t-1.o --target=x86_64-pc-linux -DONE -gdwarf-5 -gpubnames
7*8a64d80aSDavid Spickett // RUN: llvm-readobj --sections %t-1.o | FileCheck %s --check-prefix NAMES
8*8a64d80aSDavid Spickett // RUN: %clang %s -c -o %t-2.o --target=x86_64-pc-linux -DTWO -gdwarf-5 -gno-pubnames
9*8a64d80aSDavid Spickett // RUN: ld.lld %t-1.o %t-2.o -o %t
10*8a64d80aSDavid Spickett // RUN: lldb-test symbols --find=variable --name=foo  %t | FileCheck %s
11*8a64d80aSDavid Spickett 
12*8a64d80aSDavid Spickett // NAMES: Name: .debug_names
13*8a64d80aSDavid Spickett 
14*8a64d80aSDavid Spickett // CHECK: Found 2 variables:
15*8a64d80aSDavid Spickett #ifdef ONE
16*8a64d80aSDavid Spickett namespace one {
17*8a64d80aSDavid Spickett int foo;
18*8a64d80aSDavid Spickett // CHECK-DAG: name = "foo", {{.*}} decl = dwarf5-partial-index.cpp:[[@LINE-1]]
19*8a64d80aSDavid Spickett } // namespace one
_start()20*8a64d80aSDavid Spickett extern "C" void _start() {}
21*8a64d80aSDavid Spickett #else
22*8a64d80aSDavid Spickett namespace two {
23*8a64d80aSDavid Spickett int foo;
24*8a64d80aSDavid Spickett // CHECK-DAG: name = "foo", {{.*}} decl = dwarf5-partial-index.cpp:[[@LINE-1]]
25*8a64d80aSDavid Spickett } // namespace two
26*8a64d80aSDavid Spickett #endif
27