James Henderson | ecd9348 | 2019-06-25 10:36:15 +0000 | [diff] [blame] | 1 | llvm-cxxfilt - LLVM symbol name demangler |
| 2 | ========================================= |
| 3 | |
James Henderson | a056684 | 2019-06-27 13:24:46 +0000 | [diff] [blame] | 4 | .. program:: llvm-cxxfilt |
| 5 | |
James Henderson | ecd9348 | 2019-06-25 10:36:15 +0000 | [diff] [blame] | 6 | SYNOPSIS |
| 7 | -------- |
| 8 | |
| 9 | :program:`llvm-cxxfilt` [*options*] [*mangled names...*] |
| 10 | |
| 11 | DESCRIPTION |
| 12 | ----------- |
| 13 | |
| 14 | :program:`llvm-cxxfilt` is a symbol demangler that can be used as a replacement |
| 15 | for the GNU :program:`c++filt` tool. It takes a series of symbol names and |
| 16 | prints their demangled form on the standard output stream. If a name cannot be |
| 17 | demangled, it is simply printed as is. |
| 18 | |
| 19 | If no names are specified on the command-line, names are read interactively from |
| 20 | the standard input stream. When reading names from standard input, each input |
| 21 | line is split on characters that are not part of valid Itanium name manglings, |
| 22 | i.e. characters that are not alphanumeric, '.', '$', or '_'. Separators between |
| 23 | names are copied to the output as is. |
| 24 | |
| 25 | EXAMPLE |
| 26 | ------- |
| 27 | |
| 28 | .. code-block:: console |
| 29 | |
| 30 | $ llvm-cxxfilt _Z3foov _Z3bari not_mangled |
| 31 | foo() |
| 32 | bar(int) |
| 33 | not_mangled |
| 34 | $ cat input.txt |
| 35 | | _Z3foov *** _Z3bari *** not_mangled | |
| 36 | $ llvm-cxxfilt < input.txt |
| 37 | | foo() *** bar(int) *** not_mangled | |
| 38 | |
| 39 | OPTIONS |
| 40 | ------- |
| 41 | |
| 42 | .. option:: --format=<value>, -s |
| 43 | |
| 44 | Mangling scheme to assume. Valid values are ``auto`` (default, auto-detect the |
| 45 | style) and ``gnu`` (assume GNU/Itanium style). |
| 46 | |
| 47 | .. option:: --help, -h |
| 48 | |
| 49 | Print a summary of command line options. |
| 50 | |
| 51 | .. option:: --help-list |
| 52 | |
| 53 | Print an uncategorized summary of command line options. |
| 54 | |
| 55 | .. option:: --strip-underscore, -_ |
| 56 | |
| 57 | Discard a single leading underscore, if present, from each input name before |
| 58 | demangling. |
| 59 | |
| 60 | .. option:: --types, -t |
| 61 | |
| 62 | Attempt to demangle names as type names as well as function names. |
| 63 | |
| 64 | .. option:: --version |
| 65 | |
| 66 | Display the version of this program. |
| 67 | |
| 68 | .. option:: @<FILE> |
| 69 | |
| 70 | Read command-line options from response file `<FILE>`. |
| 71 | |
| 72 | EXIT STATUS |
| 73 | ----------- |
| 74 | |
| 75 | :program:`llvm-cxxfilt` returns 0 unless it encounters a usage error, in which |
| 76 | case a non-zero exit code is returned. |
| 77 | |
| 78 | SEE ALSO |
| 79 | -------- |
| 80 | |
| 81 | :manpage:`llvm-nm(1)` |