xref: /llvm-project/lldb/test/Shell/SymbolFile/DWARF/x86/find-function-regex.cpp (revision 8a64d80a959bf2844df33f9112e456f33de7b468)
1*8a64d80aSDavid Spickett // REQUIRES: lld
2*8a64d80aSDavid Spickett 
3*8a64d80aSDavid Spickett // RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -gno-pubnames
4*8a64d80aSDavid Spickett // RUN: ld.lld %t.o -o %t
5*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=f.o --regex --find=function %t | FileCheck %s
6*8a64d80aSDavid Spickett //
7*8a64d80aSDavid Spickett // RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx
8*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=f.o --regex --find=function %t | FileCheck %s
9*8a64d80aSDavid Spickett 
10*8a64d80aSDavid Spickett // RUN: %clang %s -g -c -o %t.o --target=x86_64-pc-linux -gdwarf-5 -gpubnames
11*8a64d80aSDavid Spickett // RUN: ld.lld %t.o -o %t
12*8a64d80aSDavid Spickett // RUN: llvm-readobj --sections %t | FileCheck %s --check-prefix NAMES
13*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=f.o --regex --find=function %t | FileCheck %s
14*8a64d80aSDavid Spickett 
15*8a64d80aSDavid Spickett // NAMES: Name: .debug_names
16*8a64d80aSDavid Spickett 
17*8a64d80aSDavid Spickett // CHECK: Found 3 functions:
18*8a64d80aSDavid Spickett // CHECK-DAG: name = "foo()", mangled = "_Z3foov"
19*8a64d80aSDavid Spickett // CHECK-DAG: name = "ffo()", mangled = "_Z3ffov"
20*8a64d80aSDavid Spickett // CHECK-DAG: name = "bar::foo()", mangled = "_ZN3bar3fooEv"
21*8a64d80aSDavid Spickett 
foo()22*8a64d80aSDavid Spickett void foo() {}
ffo()23*8a64d80aSDavid Spickett void ffo() {}
24*8a64d80aSDavid Spickett namespace bar {
foo()25*8a64d80aSDavid Spickett void foo() {}
26*8a64d80aSDavid Spickett } // namespace bar
fof()27*8a64d80aSDavid Spickett void fof() {}
28*8a64d80aSDavid Spickett 
_start()29*8a64d80aSDavid Spickett extern "C" void _start() {}
30