LLVM-CXXFILT(1)

πŸ’– NAME πŸ’–

okay so bestie, this is LLVM-CXXFILT(1) β€” the manual for llvm-cxxfilt, aka the LLVM symbol name demangler. That’s the whole main-character job: it takes mangled symbol names and makes them readable. No cap. ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

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

🌸 DESCRIPTION 🌸

llvm-cxxfilt is a symbol demangler, and she can literally be used as a replacement for the GNU c++filt tool. πŸ’… She takes a series of symbol names and prints their demangled form on the standard output stream. If a name cannot be demangled, it is simply printed as is β€” no drama, no error spiral, just vibes. 🫢

If no names are specified on the command-line, names are read interactively from the standard input stream. When reading names from standard input, each input line is split on characters that are not part of valid Itanium name manglings, i.e. characters that are not alphanumeric, ., $, or _. Separators between names are copied to the output as is. 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 |

✨ OPTIONS ✨

  • --format=<value>, -s β€” Mangling scheme to assume. Valid values are auto (default, auto-detect the style) and gnu (assume GNU/Itanium style). 🧚
  • --help, -h β€” Print a summary of command line options. Easy save. πŸ’–
  • --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. On by default on Mach-O based platforms. πŸ¦‹
  • --types, -t β€” Attempt to demangle names as type names as well as function names. She’s versatile, okay? 🌈
  • --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 encounters a usage error, in which case a non-zero exit code is returned. So if the number isn’t zero, bestie, something about the usage went sideways. πŸ™ˆ


πŸ”₯ SEE ALSO πŸ”₯


🌟 AUTHOR 🌟

Maintained by the LLVM Team (https://llvm.org/). 🫢


2003-2023, LLVM Project


πŸ’– Cute sign-off time: this page is LLVM-CXXFILT(1) from LLVM source/version 17, dated 2023-12-01. Bye bestie, slay your demangling! πŸ’…βœ¨

πŸ“¦ where this page comes from