LLVM-CXXFILT(1)

πŸ“¦
version 12.0.1 Β· 4 versions
, in fedora 43, fedora 44

πŸ’– LLVM-CXXFILT(1) πŸ’–

okay bestie, welcome to the llvm-cxxfilt page, from the LLVM fam ✨ this is the manual for a symbol name demangler, and yes that word is real and yes it's as iconic as it sounds πŸŽ€


✨ NAME ✨

llvm-cxxfilt β€” LLVM symbol name demangler πŸ’…


🌸 SYNOPSIS 🌸

llvm-cxxfilt [options] [mangled names...]

πŸ¦‹ DESCRIPTION πŸ¦‹

so basically llvm-cxxfilt is a symbol demangler, and the whole vibe is that you can use it as a replacement for the GNU c++filt tool. it takes a bunch of symbol names and prints their demangled form on the standard output stream. and if a name can't be demangled? no drama, it just gets printed exactly as-is, no notes 🫢

if you don't give it any names on the command-line, it reads names interactively from the standard input stream. and when it's reading from standard input, each input line gets split on characters that aren't part of valid Itanium name manglings β€” meaning characters that aren't alphanumeric, '.', '$', or '_' πŸ’« the separators between names get copied to the output as-is, so nothing gets lost, periodt.


πŸ”₯ EXAMPLE πŸ”₯

$ llvm-cxxfilt _Z3foov _Z3bari not_mangled
foo()
bar(int)
not_mangled
$ cat input.txt
| _Z3foov *** _Z3bari *** not_mangled |
$ llvm-cxxfilt < input.txt
| foo() *** bar(int) *** not_mangled |

like… the way it just works πŸ˜­πŸ’–


πŸ‘‘ OPTIONS πŸ‘‘

  • --format=<value>, -s β€” which mangling scheme to assume. valid values are auto (the default, it auto-detects the style) and gnu (assume GNU/Itanium style). pick your fighter πŸ’…
  • --help, -h β€” print a summary of command line options πŸ“
  • --help-list β€” print an uncategorized summary of command line options. yes, a different summary. it's giving variety ✨
  • --no-strip-underscore, -n β€” do not strip a leading underscore. this is the default for all platforms except Mach-O based hosts 🌈
  • --strip-underscore, -_ β€” strip a single leading underscore, if present, from each input name before demangling. this one's on by default on Mach-O based platforms πŸ“
  • --types, -t β€” attempt to demangle names as type names as well as function names. go both ways bestie πŸ’œ
  • --version β€” display the version of the llvm-cxxfilt executable ⭐
  • @<FILE> β€” read command-line options from response file <FILE> πŸ“‚

πŸ’€ EXIT STATUS πŸ’€

llvm-cxxfilt returns 0 unless it hits a usage error, in which case a non-zero exit code gets returned. so if the number isn't zero, something went wrong, no cap πŸ™ˆ


🌟 SEE ALSO 🌟


πŸ’– AUTHOR πŸ’–

maintained by the LLVM Team (https://llvm.org/) β€” they're the main characters fr fr πŸ‘‘


2003-2024, LLVM Project


and that's the whole page bestie!! πŸ’…βœ¨ this was page 12, from 2024-07-18, filed under LLVM-CXXFILT(1) β€” go demangle something gorgeous, ily, bye πŸ¦‹πŸ’–

πŸ“¦ where this page comes from