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