1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/docs/CommandGuide/llvm-cxxfilt.rst
James Henderson f75dcd7d67 [docs][tools] Add missing "program" tags to rst files
Sphinx allows for definitions of command-line options using
`.. option <name>` and references to those options via `:option:<name>`.
However, it looks like there is no scoping of these options by default,
meaning that links can end up pointing to incorrect documents. See for
example the llvm-mca document, which contains references to -o that,
prior to this patch, pointed to a different document. What's worse is
that these links appear to be non-deterministic in which one is picked
(on my machine, some references end up pointing to opt, whereas on the
live docs, they point to llvm-dwarfdump, for example).

The fix is to add the .. program <name> tag. This essentially namespaces
the options (definitions and references) to the named program, ensuring
that the links are kept correct.

Reviwed by: andreadb

Differential Revision: https://reviews.llvm.org/D63873

llvm-svn: 364538
2019-06-27 13:24:46 +00:00

82 lines
1.9 KiB
ReStructuredText

llvm-cxxfilt - LLVM symbol name demangler
=========================================
.. program:: llvm-cxxfilt
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
-------
.. code-block:: console
$ 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
-------
.. option:: --format=<value>, -s
Mangling scheme to assume. Valid values are ``auto`` (default, auto-detect the
style) and ``gnu`` (assume GNU/Itanium style).
.. option:: --help, -h
Print a summary of command line options.
.. option:: --help-list
Print an uncategorized summary of command line options.
.. option:: --strip-underscore, -_
Discard a single leading underscore, if present, from each input name before
demangling.
.. option:: --types, -t
Attempt to demangle names as type names as well as function names.
.. option:: --version
Display the version of this program.
.. option:: @<FILE>
Read command-line options from response file `<FILE>`.
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)`