diff options
Diffstat (limited to 'gnu/llvm/docs/CommandGuide/llvm-cxxmap.rst')
| -rw-r--r-- | gnu/llvm/docs/CommandGuide/llvm-cxxmap.rst | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/gnu/llvm/docs/CommandGuide/llvm-cxxmap.rst b/gnu/llvm/docs/CommandGuide/llvm-cxxmap.rst deleted file mode 100644 index 7293f60b55d..00000000000 --- a/gnu/llvm/docs/CommandGuide/llvm-cxxmap.rst +++ /dev/null @@ -1,91 +0,0 @@ -llvm-cxxmap - Mangled name remapping tool -========================================= - -SYNOPSIS --------- - -:program:`llvm-cxxmap` [*options*] *symbol-file-1* *symbol-file-2* - -DESCRIPTION ------------ - -The :program:`llvm-cxxmap` tool performs fuzzy matching of C++ mangled names, -based on a file describing name components that should be considered equivalent. - -The symbol files should contain a list of C++ mangled names (one per line). -Blank lines and lines starting with ``#`` are ignored. The output is a list -of pairs of equivalent symbols, one per line, of the form - -.. code-block:: none - - <symbol-1> <symbol-2> - -where ``<symbol-1>`` is a symbol from *symbol-file-1* and ``<symbol-2>`` is -a symbol from *symbol-file-2*. Mappings for which the two symbols are identical -are omitted. - -OPTIONS -------- - -.. program:: llvm-cxxmap - -.. option:: -remapping-file=file, -r=file - - Specify a file containing a list of equivalence rules that should be used - to determine whether two symbols are equivalent. Required. - See :ref:`remapping-file`. - -.. option:: -output=file, -o=file - - Specify a file to write the list of matched names to. If unspecified, the - list will be written to stdout. - -.. option:: -Wambiguous - - Produce a warning if there are multiple equivalent (but distinct) symbols in - *symbol-file-2*. - -.. option:: -Wincomplete - - Produce a warning if *symbol-file-1* contains a symbol for which there is no - equivalent symbol in *symbol-file-2*. - -.. _remapping-file: - -REMAPPING FILE --------------- - -The remapping file is a text file containing lines of the form - -.. code-block:: none - - fragmentkind fragment1 fragment2 - -where ``fragmentkind`` is one of ``name``, ``type``, or ``encoding``, -indicating whether the following mangled name fragments are -<`name <http://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.name>`_>s, -<`type <http://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.type>`_>s, or -<`encoding <http://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.encoding>`_>s, -respectively. -Blank lines and lines starting with ``#`` are ignored. - -For convenience, built-in <substitution>s such as ``St`` and ``Ss`` -are accepted as <name>s (even though they technically are not <name>s). - -For example, to specify that ``absl::string_view`` and ``std::string_view`` -should be treated as equivalent, the following remapping file could be used: - -.. code-block:: none - - # absl::string_view is considered equivalent to std::string_view - type N4absl11string_viewE St17basic_string_viewIcSt11char_traitsIcEE - - # std:: might be std::__1:: in libc++ or std::__cxx11:: in libstdc++ - name St St3__1 - name St St7__cxx11 - -.. note:: - - Symbol remapping is currently only supported for C++ mangled names - following the Itanium C++ ABI mangling scheme. This covers all C++ targets - supported by Clang other than Windows targets. |
