* read.c (read_a_source_file): Make sure the symbol ends with
[deliverable/binutils-gdb.git] / binutils / cxxfilt.man
CommitLineData
08ad9921
JO
1.\" Copyright (c) 1991 Free Software Foundation
2.\" See section COPYING for conditions for redistribution
faa70c35 3.TH @PROGRAM@ 1 "June 1993" "cygnus support" "GNU Development Tools"
08ad9921
JO
4.de BP
5.sp
6.ti \-.2i
7\(**
8..
9
10.SH NAME
faa70c35 11@PROGRAM@ \- demangle C++ symbols
08ad9921
JO
12
13.SH SYNOPSIS
b26ac613
DM
14.hy 0
15.na
16.TP
faa70c35 17.B @PROGRAM@
b26ac613
DM
18.RB "[\|" \-_ | \-\-strip-underscores "\|]"
19.RB "[\|" "\-s {gnu,lucid,arm} " | " \-\-format={gnu,lucid,arm}" "\|]"
20.RB "[\|" \-\-help "\|]"
21.RB "[\|" \-\-version "\|]"
dc4fba51 22.RB "[\|" symbol "...\|]"
08ad9921
JO
23.SH DESCRIPTION
24The C++ language provides function overloading, which means that you can
25write many functions with the same name (providing each takes parameters
26of different types). All C++ function names are encoded into a
b26ac613
DM
27low-level assembly label (this process is known as
28.I mangling\c
29). The
faa70c35 30.B @PROGRAM@
08ad9921
JO
31program does the inverse mapping: it decodes (\fIdemangles\fR)
32low-level names into user-level names so that the linker can keep
33these overloaded functions from clashing.
b26ac613 34.PP
08ad9921
JO
35Every alphanumeric word (consisting of letters, digits, underscores,
36dollars, or periods) seen in the input is a potential label. If the
37label decodes into a C++ name, the C++ name replaces the low-level
38name in the output.
b26ac613 39.PP
dc4fba51 40You can use
faa70c35 41.B @PROGRAM@
08ad9921
JO
42to decipher individual symbols by specifying these symbols on the
43command line.
b26ac613 44.PP
dc4fba51
DM
45If no
46.B symbol
47arguments are given,
faa70c35 48.B @PROGRAM@
dc4fba51
DM
49reads symbol names from the standard input and writes the demangled
50names to the standard output. All results are printed on the standard
51output.
b26ac613
DM
52.SH OPTIONS
53.TP
54.B \-_
55.TP
56.B \-\-strip\-underscores
57On some systems, both the C and C++ compilers put an
58underscore in front of every name. For example, the C name
08ad9921
JO
59.B foo
60gets the low-level name
b26ac613
DM
61.BR _foo .
62This option removes the leading underscore.
63
64.TP
65.B "\-s {gnu,lucid,arm}"
66.TP
67.B \-\-format={gnu,lucid,arm}
68GNU
69.B nm
70can decode three different methods of mangling, used by different C++
71compilers. This option selects which method it uses: the one used by
72the GNU compiler, the one used by the Lucid compiler, or the one
73specified by the C++ Annotated Reference Manual. The default is the
74GNU style.
75
76.TP
77.B \-\-help
78Print a summary of the options to
faa70c35 79.B @PROGRAM@
b26ac613
DM
80and exit.
81
82.TP
83.B \-\-version
84Print the version number of
faa70c35 85.B @PROGRAM@
b26ac613 86and exit.
08ad9921
JO
87
88.SH "SEE ALSO"
89.RB "`\|" binutils "\|'"
90entry in
91.B
92info\c
93\&;
94.I
95The GNU Binary Utilities\c
96\&, Roland H. Pesch (June 1993).
97
98.SH COPYING
99Copyright (c) 1993 Free Software Foundation, Inc.
100.PP
101Permission is granted to make and distribute verbatim copies of
102this manual provided the copyright notice and this permission notice
103are preserved on all copies.
104.PP
105Permission is granted to copy and distribute modified versions of this
106manual under the conditions for verbatim copying, provided that the
107entire resulting derived work is distributed under the terms of a
108permission notice identical to this one.
109.PP
110Permission is granted to copy and distribute translations of this
111manual into another language, under the above conditions for modified
112versions, except that this permission notice may be included in
113translations approved by the Free Software Foundation instead of in
114the original English.
This page took 0.206984 seconds and 4 git commands to generate.