1 .\" Copyright (c) 1991 Free Software Foundation
2 .\" See section COPYING for conditions for redistribution
3 .TH c++filt 1 "June 1993" "cygnus support" "GNU Development Tools"
11 c++filt\(em\&demangle C++ symbols
18 .RB "[\|" \-_ | \-\-strip-underscores "\|]"
19 .RB "[\|" "\-s {gnu,lucid,arm} " | " \-\-format={gnu,lucid,arm}" "\|]"
20 .RB "[\|" \-\-help "\|]"
21 .RB "[\|" \-\-version "\|]"
22 .RB "[\|" arg "...\|]"
24 The C++ language provides function overloading, which means that you can
25 write many functions with the same name (providing each takes parameters
26 of different types). All C++ function names are encoded into a
27 low-level assembly label (this process is known as
31 program does the inverse mapping: it decodes (\fIdemangles\fR)
32 low-level names into user-level names so that the linker can keep
33 these overloaded functions from clashing.
35 Every alphanumeric word (consisting of letters, digits, underscores,
36 dollars, or periods) seen in the input is a potential label. If the
37 label decodes into a C++ name, the C++ name replaces the low-level
42 is to pipe the output of
49 .B nm \fIobjfile\fB | c++filt
54 to decipher individual symbols by specifying these symbols on the
57 All results are printed on the standard output.
62 .B \-\-strip\-underscores
63 On some systems, both the C and C++ compilers put an
64 underscore in front of every name. For example, the C name
66 gets the low-level name
68 This option removes the leading underscore.
71 .B "\-s {gnu,lucid,arm}"
73 .B \-\-format={gnu,lucid,arm}
76 can decode three different methods of mangling, used by different C++
77 compilers. This option selects which method it uses: the one used by
78 the GNU compiler, the one used by the Lucid compiler, or the one
79 specified by the C++ Annotated Reference Manual. The default is the
84 Print a summary of the options to
90 Print the version number of
95 .RB "`\|" binutils "\|'"
101 The GNU Binary Utilities\c
102 \&, Roland H. Pesch (June 1993).
105 Copyright (c) 1993 Free Software Foundation, Inc.
107 Permission is granted to make and distribute verbatim copies of
108 this manual provided the copyright notice and this permission notice
109 are preserved on all copies.
111 Permission is granted to copy and distribute modified versions of this
112 manual under the conditions for verbatim copying, provided that the
113 entire resulting derived work is distributed under the terms of a
114 permission notice identical to this one.
116 Permission is granted to copy and distribute translations of this
117 manual into another language, under the above conditions for modified
118 versions, except that this permission notice may be included in
119 translations approved by the Free Software Foundation instead of in
120 the original English.