.\" Man page generated from reStructuredText. . .TH "LLVM-CXXMAP" "1" "2019-08-26" "8" "LLVM" .SH NAME llvm-cxxmap \- Mangled name remapping tool . .nr rst2man-indent-level 0 . .de1 rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de1 INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .SH SYNOPSIS .sp \fBllvm\-cxxmap\fP [\fIoptions\fP] \fIsymbol\-file\-1\fP \fIsymbol\-file\-2\fP .SH DESCRIPTION .sp The \fBllvm\-cxxmap\fP tool performs fuzzy matching of C++ mangled names, based on a file describing name components that should be considered equivalent. .sp The symbol files should contain a list of C++ mangled names (one per line). Blank lines and lines starting with \fB#\fP are ignored. The output is a list of pairs of equivalent symbols, one per line, of the form .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C .ft P .fi .UNINDENT .UNINDENT .sp where \fB\fP is a symbol from \fIsymbol\-file\-1\fP and \fB\fP is a symbol from \fIsymbol\-file\-2\fP\&. Mappings for which the two symbols are identical are omitted. .SH OPTIONS .INDENT 0.0 .TP .B \-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 \fI\%REMAPPING FILE\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-output=file, \-o=file Specify a file to write the list of matched names to. If unspecified, the list will be written to stdout. .UNINDENT .INDENT 0.0 .TP .B \-Wambiguous Produce a warning if there are multiple equivalent (but distinct) symbols in \fIsymbol\-file\-2\fP\&. .UNINDENT .INDENT 0.0 .TP .B \-Wincomplete Produce a warning if \fIsymbol\-file\-1\fP contains a symbol for which there is no equivalent symbol in \fIsymbol\-file\-2\fP\&. .UNINDENT .SH REMAPPING FILE .sp The remapping file is a text file containing lines of the form .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C fragmentkind fragment1 fragment2 .ft P .fi .UNINDENT .UNINDENT .sp where \fBfragmentkind\fP is one of \fBname\fP, \fBtype\fP, or \fBencoding\fP, indicating whether the following mangled name fragments are <\fI\%name\fP>s, <\fI\%type\fP>s, or <\fI\%encoding\fP>s, respectively. Blank lines and lines starting with \fB#\fP are ignored. .sp For convenience, built\-in s such as \fBSt\fP and \fBSs\fP are accepted as s (even though they technically are not s). .sp For example, to specify that \fBabsl::string_view\fP and \fBstd::string_view\fP should be treated as equivalent, the following remapping file could be used: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C # 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 .ft P .fi .UNINDENT .UNINDENT .sp \fBNOTE:\fP .INDENT 0.0 .INDENT 3.5 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. .UNINDENT .UNINDENT .SH AUTHOR Maintained by the LLVM Team (https://llvm.org/). .SH COPYRIGHT 2003-2019, LLVM Project .\" Generated by docutils manpage writer. .