aboutsummaryrefslogtreecommitdiff
path: root/llvm/docs/CommandGuide/llvm-cxxmap.rst
diff options
context:
space:
mode:
authorRichard Smith <richard@metafoo.co.uk>2019-12-18 10:44:29 -0800
committerRichard Smith <richard@metafoo.co.uk>2019-12-18 10:47:02 -0800
commitb6e90a1a1093210784ed3614b51ebcc31c2a1dcf (patch)
treecdbfdf3f040b04eb151b5b92952db95ed6a3487d /llvm/docs/CommandGuide/llvm-cxxmap.rst
parentcfe316007fb8492535d697717c24ce72621a8d5e (diff)
downloadllvm-b6e90a1a1093210784ed3614b51ebcc31c2a1dcf.zip
llvm-b6e90a1a1093210784ed3614b51ebcc31c2a1dcf.tar.gz
llvm-b6e90a1a1093210784ed3614b51ebcc31c2a1dcf.tar.bz2
llvm-cxxmap: fix support for remapping non-mangled names.
Remappings involving extern "C" names were already supported in the context of <local-name>s, but this support didn't work for remapping the complete mangling itself. (Eg, we would remap X<foo> but not foo itself, if foo is an extern "C" function.)
Diffstat (limited to 'llvm/docs/CommandGuide/llvm-cxxmap.rst')
-rw-r--r--llvm/docs/CommandGuide/llvm-cxxmap.rst8
1 files changed, 8 insertions, 0 deletions
diff --git a/llvm/docs/CommandGuide/llvm-cxxmap.rst b/llvm/docs/CommandGuide/llvm-cxxmap.rst
index b0bf1c4..dd38f31 100644
--- a/llvm/docs/CommandGuide/llvm-cxxmap.rst
+++ b/llvm/docs/CommandGuide/llvm-cxxmap.rst
@@ -71,6 +71,14 @@ indicating whether the following mangled name fragments are
respectively.
Blank lines and lines starting with ``#`` are ignored.
+Unmangled C names can be expressed as an ``encoding`` that is a (length-prefixed)
+<`source-name <http://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangle.source-name>`_>:
+
+.. code-block:: none
+
+ # C function "void foo_bar()" is remapped to C++ function "void foo::bar()".
+ encoding 7foo_bar _Z3foo3barv
+
For convenience, built-in <substitution>s such as ``St`` and ``Ss``
are accepted as <name>s (even though they technically are not <name>s).