LLVM-CXXFILT(1)
π LLVM-CXXFILT(1) β the LLVM manual, bestie edition β¨
okay so real talk, this page lives in the LLVM manual set, and it's about a tool that un-mangles C++ symbol names so your brain stops hurting. let's get into it π«Ά
β¨ NAME β¨
llvm-cxxfilt β the LLVM symbol name demangler π (yes, it un-scrambles those cursed C++ names, no cap)
πΈ SYNOPSIS πΈ
llvm-cxxfilt [options] [mangled names...]
π¦ DESCRIPTION π¦
llvm-cxxfilt is a symbol demangler, and it can literally be used as a replacement for the GNU c++filt tool π It takes a series of symbol names and prints their demangled form on the standard output stream. And if a name can't be demangled? no drama β it's simply printed as is. icon behavior honestly.
If no names are specified on the command-line, names are read interactively from the standard input stream π When it's 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 β so your vibe of the line stays intact, fr fr.
π 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 |
see how not_mangled just... came back as itself? she's unbothered, she's thriving π
π OPTIONS π
--format=<value>,-sβ which mangling scheme to assume. valid values areauto(the default β it auto-detects the style, main character energy) andgnu(assume GNU/Itanium style).--help,-hβ prints a summary of command line options π--no-params,-pβ do not demangle function parameters or return types. keep it mysterious.--no-strip-underscore,-nβ do not strip a leading underscore. this is the default for all platforms, so like... it's already the vibe.--quoteβ add""around demangled names. and it does not quote already quoted names (no double-quoting, we're not animals π).--strip-underscore,-_β strip a single leading underscore, if present, from each input name before demangling βοΈ--types,-tβ attempt to demangle names as type names as well as symbol names π--versionβ display the version of thellvm-cxxfiltexecutable β@<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 a 0 means she ate, and anything else means you fumbled the invocation π
π SEE ALSO π
llvm-nm(1) β go give her a read too, iykyk π§
π AUTHOR π
Maintained by the LLVM Team (https://llvm.org/). they're the ones keeping this whole thing alive, show some love π
π COPYRIGHT π
2003-2026, LLVM Project
β οΈ quick warning bestie: the hyphen options are short and sneaky β-nand-_are literally opposites, and mixing them up is a whole personality flaw. read twice, type once π
and that's the page!! this one's from the LLVM source, version-flavored and dated 2026-10-06, page 23 in the set β mwah, stan, periodt πβ¨π¦
π¦ where this page comes from
- centos-stream 9: llvm 23.1.3-1.el9 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- centos-stream 9: llvm 23.1.3-1.el9 Β· Apache-2.0 WITH LLVM-exception OR NCSA
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms