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=foo --find=function --function-flags=method %t | \ 6*8a64d80aSDavid Spickett // RUN: FileCheck %s 7*8a64d80aSDavid Spickett // 8*8a64d80aSDavid Spickett // RUN: %clang %s -g -c -o %t --target=x86_64-apple-macosx 9*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \ 10*8a64d80aSDavid Spickett // RUN: FileCheck %s 11*8a64d80aSDavid Spickett 12*8a64d80aSDavid Spickett // RUN: %clang %s -c -o %t.o --target=x86_64-pc-linux -gdwarf-5 -gpubnames 13*8a64d80aSDavid Spickett // RUN: ld.lld %t.o -o %t 14*8a64d80aSDavid Spickett // RUN: llvm-readobj --sections %t | FileCheck %s --check-prefix NAMES 15*8a64d80aSDavid Spickett // RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \ 16*8a64d80aSDavid Spickett // RUN: FileCheck %s 17*8a64d80aSDavid Spickett 18*8a64d80aSDavid Spickett // NAMES: Name: .debug_names 19*8a64d80aSDavid Spickett 20*8a64d80aSDavid Spickett // CHECK-DAG: name = "A::foo()", mangled = "_ZN1A3fooEv" 21*8a64d80aSDavid Spickett // CHECK-DAG: name = "B::foo()", mangled = "_ZN1B3fooEv" 22*8a64d80aSDavid Spickett // CHECK-DAG: name = "C::foo()", mangled = "_ZN1C3fooEv" 23*8a64d80aSDavid Spickett 24*8a64d80aSDavid Spickett struct A { 25*8a64d80aSDavid Spickett void foo(); 26*8a64d80aSDavid Spickett }; foo()27*8a64d80aSDavid Spickettvoid A::foo() {} 28*8a64d80aSDavid Spickett 29*8a64d80aSDavid Spickett class B { 30*8a64d80aSDavid Spickett void foo(); 31*8a64d80aSDavid Spickett }; foo()32*8a64d80aSDavid Spickettvoid B::foo() {} 33*8a64d80aSDavid Spickett 34*8a64d80aSDavid Spickett union C { 35*8a64d80aSDavid Spickett void foo(); 36*8a64d80aSDavid Spickett }; foo()37*8a64d80aSDavid Spickettvoid C::foo() {} 38*8a64d80aSDavid Spickett _start()39*8a64d80aSDavid Spickettextern "C" void _start() {} 40