xref: /llvm-project/llvm/test/tools/llvm-cxxfilt/quote.test (revision d582442becf1507a243614ee7348ccbb51eade28)
1*d582442bSRonan Keryell// Show that llvm-cxxfilt --quote adds quotes around demangled symbols, unless
2*d582442bSRonan Keryell// the symbol is already quoted.
3*d582442bSRonan Keryell
4*d582442bSRonan KeryellRUN: split-file %s %t
5*d582442bSRonan Keryell
6*d582442bSRonan KeryellRUN: llvm-cxxfilt --quote < %t/symbols-in-file.test | FileCheck --match-full-lines --check-prefix=CHECK-FILE %s
7*d582442bSRonan KeryellCHECK-FILE: "bar()" "bar()"
8*d582442bSRonan KeryellCHECK-FILE-NEXT: "bar()" "bar()"
9*d582442bSRonan KeryellCHECK-FILE: log()
10*d582442bSRonan KeryellCHECK-FILE: "import thunk for std::future<void>"
11*d582442bSRonan Keryell
12*d582442bSRonan Keryell// Check it works with CLI symbols too. Since a quoted mangled name is not a
13*d582442bSRonan Keryell// mangled name, it should be unchanged.
14*d582442bSRonan KeryellRUN: llvm-cxxfilt --quote _Z3firv '"_Z3barv"' 'saw()' | FileCheck --match-full-lines --check-prefix=CHECK-CLI %s
15*d582442bSRonan KeryellCHECK-CLI: "fir()"
16*d582442bSRonan KeryellCHECK-CLI-NEXT: "_Z3barv"
17*d582442bSRonan KeryellCHECK-CLI-NEXT: saw()
18*d582442bSRonan Keryell
19*d582442bSRonan Keryell//--- symbols-in-file.test
20*d582442bSRonan Keryell_Z3barv "_Z3barv"
21*d582442bSRonan Keryell"_Z3barv" _Z3barv
22*d582442bSRonan Keryell// This is not mangled, thus it should not be quoted.
23*d582442bSRonan Keryelllog()
24*d582442bSRonan Keryell// Check that an "import thunk for" prefix can be quoted along the demangled
25*d582442bSRonan Keryell// name.
26*d582442bSRonan Keryell__imp__ZSt6futureIvE
27