llvm-cxxfilt.rst 2.14 KB

llvm-cxxfilt - LLVM symbol name demangler

SYNOPSIS

:program:`llvm-cxxfilt` [options] [mangled names...]

DESCRIPTION

:program:`llvm-cxxfilt` is a symbol demangler that can be used as a replacement for the GNU :program:`c++filt` tool. It 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.

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.

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

EXIT STATUS

:program:`llvm-cxxfilt` returns 0 unless it encounters a usage error, in which case a non-zero exit code is returned.

SEE ALSO

:manpage:`llvm-nm(1)`