1 ## Show that the --disassemble-symbols switch takes demangled names when
2 ## --demangle is specified, otherwise the switch takes mangled names.
4 # RUN: yaml2obj %s -o %t.o
6 ## --disassemble-symbols without --demangle.
7 # RUN: llvm-objdump --disassemble-symbols=_Z3foov %t.o | FileCheck %s --check-prefix=MANGLED
8 # RUN: llvm-objdump --disassemble-symbols='foo()' %t.o 2>&1 \
9 # RUN: | FileCheck %s --check-prefix=MANGLED-MISS
10 # RUN: llvm-objdump --disassemble-symbols=foo %t.o 2>&1 \
11 # RUN: | FileCheck %s --check-prefix=MANGLED-MISS
12 # RUN: llvm-objdump --disassemble-symbols='i,f' %t.o | FileCheck %s --check-prefix=NOMANGLE
14 ## --disassemble-symbols with --demangle.
15 # RUN: llvm-objdump -C --disassemble-symbols='foo()' %t.o | FileCheck %s --check-prefix=DEMANGLED
16 # RUN: llvm-objdump -C --disassemble-symbols='_Z3foov' %t.o 2>&1 \
17 # RUN: | FileCheck %s --check-prefix=DEMANGLED-MISS
18 # RUN: llvm-objdump -C --disassemble-symbols='i,f' %t.o | FileCheck %s --check-prefix=NOMANGLE
19 # RUN: llvm-objdump -C --disassemble-symbols='std::allocator<wchar_t>::allocator()' %t.o 2>&1 \
20 # RUN: | FileCheck %s --check-prefix=DEMANGLED-MULTI
23 # MANGLED-MISS: warning: '{{.*}}': failed to disassemble missing symbol foo
26 # DEMANGLED-MISS: warning: '{{.*}}': failed to disassemble missing symbol _Z3foov
31 # DEMANGLED-MULTI: <std::allocator<wchar_t>::allocator()>:
32 # DEMANGLED-MULTI: <std::allocator<wchar_t>::allocator()>:
43 Flags: [SHF_ALLOC, SHF_EXECINSTR]