diff options
Diffstat (limited to 'llvm/test/tools/llvm-objdump/X86/disassemble-functions-mangling.test')
-rw-r--r-- | llvm/test/tools/llvm-objdump/X86/disassemble-functions-mangling.test | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-objdump/X86/disassemble-functions-mangling.test b/llvm/test/tools/llvm-objdump/X86/disassemble-functions-mangling.test new file mode 100644 index 00000000000..b4cdd0e6d01 --- /dev/null +++ b/llvm/test/tools/llvm-objdump/X86/disassemble-functions-mangling.test @@ -0,0 +1,61 @@ +## Show that the --disassemble-functions switch takes demangled names when +## --demangle is specified, otherwise the switch takes mangled names. + +# RUN: yaml2obj %s -o %t.o + +## --disassemble-functions without --demangle. +# RUN: llvm-objdump --disassemble-functions=_Z3foov %t.o | FileCheck %s --check-prefix=MANGLED +# RUN: llvm-objdump --disassemble-functions='foo()' %t.o 2>&1 \ +# RUN: | FileCheck %s --check-prefix=MANGLED-MISS +# RUN: llvm-objdump --disassemble-functions=foo %t.o 2>&1 \ +# RUN: | FileCheck %s --check-prefix=MANGLED-MISS +# RUN: llvm-objdump --disassemble-functions='i,f' %t.o | FileCheck %s --check-prefix=NOMANGLE + +## --disassemble-functions with --demangle. +# RUN: llvm-objdump -C --disassemble-functions='foo()' %t.o | FileCheck %s --check-prefix=DEMANGLED +# RUN: llvm-objdump -C --disassemble-functions='_Z3foov' %t.o 2>&1 \ +# RUN: | FileCheck %s --check-prefix=DEMANGLED-MISS +# RUN: llvm-objdump -C --disassemble-functions='i,f' %t.o | FileCheck %s --check-prefix=NOMANGLE +# RUN: llvm-objdump -C --disassemble-functions='std::allocator<wchar_t>::allocator()' %t.o 2>&1 \ +# RUN: | FileCheck %s --check-prefix=DEMANGLED-MULTI + +# MANGLED: _Z3foov: +# MANGLED-MISS: warning: failed to disassemble missing function foo + +# DEMANGLED: foo(): +# DEMANGLED-MISS: warning: failed to disassemble missing function _Z3foov + +# NOMANGLE: i: +# NOMANGLE: f: + +# DEMANGLED-MULTI: std::allocator<wchar_t>::allocator(): +# DEMANGLED-MULTI: std::allocator<wchar_t>::allocator(): + +--- !ELF +FileHeader: + Class: ELFCLASS64 + Data: ELFDATA2LSB + Type: ET_EXEC + Machine: EM_X86_64 +Sections: + - Name: .text + Type: SHT_PROGBITS + Flags: [SHF_ALLOC, SHF_EXECINSTR] + Address: 0x1000 + Content: 9090909090 +Symbols: + - Name: _Z3foov + Value: 0x1000 + Section: .text + - Name: i + Value: 0x1001 + Section: .text + - Name: f + Value: 0x1002 + Section: .text + - Name: _ZNSaIwEC1Ev + Value: 0x1003 + Section: .text + - Name: _ZNSaIwEC2Ev + Value: 0x1004 + Section: .text |