]> git.pld-linux.org Git - packages/gcc.git/blob - c++filt.1
- Release: 0.4
[packages/gcc.git] / c++filt.1
1 .\" Automatically generated by Pod::Man version 1.15
2 .\" Tue Sep 18 12:11:39 2001
3 .\"
4 .\" Standard preamble:
5 .\" ======================================================================
6 .de Sh \" Subsection heading
7 .br
8 .if t .Sp
9 .ne 5
10 .PP
11 \fB\\$1\fR
12 .PP
13 ..
14 .de Sp \" Vertical space (when we can't use .PP)
15 .if t .sp .5v
16 .if n .sp
17 ..
18 .de Ip \" List item
19 .br
20 .ie \\n(.$>=3 .ne \\$3
21 .el .ne 3
22 .IP "\\$1" \\$2
23 ..
24 .de Vb \" Begin verbatim text
25 .ft CW
26 .nf
27 .ne \\$1
28 ..
29 .de Ve \" End verbatim text
30 .ft R
31
32 .fi
33 ..
34 .\" Set up some character translations and predefined strings.  \*(-- will
35 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
36 .\" double quote, and \*(R" will give a right double quote.  | will give a
37 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used
38 .\" to do unbreakable dashes and therefore won't be available.  \*(C` and
39 .\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
40 .tr \(*W-|\(bv\*(Tr
41 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
42 .ie n \{\
43 .    ds -- \(*W-
44 .    ds PI pi
45 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
46 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
47 .    ds L" ""
48 .    ds R" ""
49 .    ds C` ""
50 .    ds C' ""
51 'br\}
52 .el\{\
53 .    ds -- \|\(em\|
54 .    ds PI \(*p
55 .    ds L" ``
56 .    ds R" ''
57 'br\}
58 .\"
59 .\" If the F register is turned on, we'll generate index entries on stderr
60 .\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
61 .\" index entries marked with X<> in POD.  Of course, you'll have to process
62 .\" the output yourself in some meaningful fashion.
63 .if \nF \{\
64 .    de IX
65 .    tm Index:\\$1\t\\n%\t"\\$2"
66 ..
67 .    nr % 0
68 .    rr F
69 .\}
70 .\"
71 .\" For nroff, turn off justification.  Always turn off hyphenation; it
72 .\" makes way too many mistakes in technical documents.
73 .hy 0
74 .\"
75 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
76 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
77 .bd B 3
78 .    \" fudge factors for nroff and troff
79 .if n \{\
80 .    ds #H 0
81 .    ds #V .8m
82 .    ds #F .3m
83 .    ds #[ \f1
84 .    ds #] \fP
85 .\}
86 .if t \{\
87 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
88 .    ds #V .6m
89 .    ds #F 0
90 .    ds #[ \&
91 .    ds #] \&
92 .\}
93 .    \" simple accents for nroff and troff
94 .if n \{\
95 .    ds ' \&
96 .    ds ` \&
97 .    ds ^ \&
98 .    ds , \&
99 .    ds ~ ~
100 .    ds /
101 .\}
102 .if t \{\
103 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
104 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
105 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
106 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
107 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
108 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
109 .\}
110 .    \" troff and (daisy-wheel) nroff accents
111 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
112 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
113 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
114 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
115 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
116 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
117 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
118 .ds ae a\h'-(\w'a'u*4/10)'e
119 .ds Ae A\h'-(\w'A'u*4/10)'E
120 .    \" corrections for vroff
121 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
122 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
123 .    \" for low resolution devices (crt and lpr)
124 .if \n(.H>23 .if \n(.V>19 \
125 \{\
126 .    ds : e
127 .    ds 8 ss
128 .    ds o a
129 .    ds d- d\h'-1'\(ga
130 .    ds D- D\h'-1'\(hy
131 .    ds th \o'bp'
132 .    ds Th \o'LP'
133 .    ds ae ae
134 .    ds Ae AE
135 .\}
136 .rm #[ #] #H #V #F C
137 .\" ======================================================================
138 .\"
139 .IX Title "C++FILT 1"
140 .TH C++FILT 1 "binutils-2.11.90.0.27" "2001-09-18" "GNU"
141 .UC
142 .SH "NAME"
143 c++filt \- Demangle \*(C+ and Java symbols.
144 .SH "SYNOPSIS"
145 .IX Header "SYNOPSIS"
146 c++filt [\fB\-_\fR|\fB\*(--strip-underscores\fR]
147         [\fB\-j\fR|\fB\*(--java\fR]
148         [\fB\-n\fR|\fB\*(--no-strip-underscores\fR]
149         [\fB\-s\fR \fIformat\fR|\fB\*(--format=\fR\fIformat\fR]
150         [\fB\*(--help\fR]  [\fB\*(--version\fR]  [\fIsymbol\fR...]
151 .SH "DESCRIPTION"
152 .IX Header "DESCRIPTION"
153 The \*(C+ and Java languages provides function overloading, which means
154 that you can write many functions with the same name (providing each
155 takes parameters of different types).  All \*(C+ and Java function names
156 are encoded into a low-level assembly label (this process is known as
157 \&\fImangling\fR). The \fBc++filt\fR
158 [1]
159 program does the inverse mapping: it decodes (\fIdemangles\fR) low-level
160 names into user-level names so that the linker can keep these overloaded
161 functions from clashing.
162 .PP
163 Every alphanumeric word (consisting of letters, digits, underscores,
164 dollars, or periods) seen in the input is a potential label.  If the
165 label decodes into a \*(C+ name, the \*(C+ name replaces the low-level
166 name in the output.
167 .PP
168 You can use \fBc++filt\fR to decipher individual symbols:
169 .PP
170 .Vb 1
171 \&        c++filt I<symbol>
172 .Ve
173 If no \fIsymbol\fR arguments are given, \fBc++filt\fR reads symbol
174 names from the standard input and writes the demangled names to the
175 standard output.  All results are printed on the standard output.
176 .SH "OPTIONS"
177 .IX Header "OPTIONS"
178 .Ip "\fB\-_\fR" 4
179 .IX Item "-_"
180 .PD 0
181 .Ip "\fB\*(--strip-underscores\fR" 4
182 .IX Item "strip-underscores"
183 .PD
184 On some systems, both the C and \*(C+ compilers put an underscore in front
185 of every name.  For example, the C name \f(CW\*(C`foo\*(C'\fR gets the low-level
186 name \f(CW\*(C`_foo\*(C'\fR.  This option removes the initial underscore.  Whether
187 \&\fBc++filt\fR removes the underscore by default is target dependent.
188 .Ip "\fB\-j\fR" 4
189 .IX Item "-j"
190 .PD 0
191 .Ip "\fB\*(--java\fR" 4
192 .IX Item "java"
193 .PD
194 Prints demangled names using Java syntax.  The default is to use \*(C+
195 syntax.
196 .Ip "\fB\-n\fR" 4
197 .IX Item "-n"
198 .PD 0
199 .Ip "\fB\*(--no-strip-underscores\fR" 4
200 .IX Item "no-strip-underscores"
201 .PD
202 Do not remove the initial underscore.
203 .Ip "\fB\-s\fR \fIformat\fR" 4
204 .IX Item "-s format"
205 .PD 0
206 .Ip "\fB\*(--format=\fR\fIformat\fR" 4
207 .IX Item "format=format"
208 .PD
209 \&\s-1GNU\s0 \fBnm\fR can decode three different methods of mangling, used by
210 different \*(C+ compilers.  The argument to this option selects which
211 method it uses:
212 .RS 4
213 .if n .Ip "\f(CW""""gnu""""\fR" 4
214 .el .Ip "\f(CWgnu\fR" 4
215 .IX Item "gnu"
216 the one used by the \s-1GNU\s0 compiler (the default method)
217 .if n .Ip "\f(CW""""lucid""""\fR" 4
218 .el .Ip "\f(CWlucid\fR" 4
219 .IX Item "lucid"
220 the one used by the Lucid compiler
221 .if n .Ip "\f(CW""""arm""""\fR" 4
222 .el .Ip "\f(CWarm\fR" 4
223 .IX Item "arm"
224 the one specified by the \*(C+ Annotated Reference Manual
225 .if n .Ip "\f(CW""""hp""""\fR" 4
226 .el .Ip "\f(CWhp\fR" 4
227 .IX Item "hp"
228 the one used by the \s-1HP\s0 compiler
229 .if n .Ip "\f(CW""""edg""""\fR" 4
230 .el .Ip "\f(CWedg\fR" 4
231 .IX Item "edg"
232 the one used by the \s-1EDG\s0 compiler
233 .if n .Ip "\f(CW""""gnu\-new\-abi""""\fR" 4
234 .el .Ip "\f(CWgnu\-new\-abi\fR" 4
235 .IX Item "gnu-new-abi"
236 the one used by the \s-1GNU\s0 compiler with the new \s-1ABI\s0.
237 .RE
238 .RS 4
239 .RE
240 .Ip "\fB\*(--help\fR" 4
241 .IX Item "help"
242 Print a summary of the options to \fBc++filt\fR and exit.
243 .Ip "\fB\*(--version\fR" 4
244 .IX Item "version"
245 Print the version number of \fBc++filt\fR and exit.
246 .SH "FOOTNOTES"
247 .IX Header "FOOTNOTES"
248 .Ip "1." 4
249 \&\s-1MS-DOS\s0 does not allow \f(CW\*(C`+\*(C'\fR characters in file names, so on
250 \&\s-1MS-DOS\s0 this program is named \fBc++filt\fR.
251 .SH "SEE ALSO"
252 .IX Header "SEE ALSO"
253 the Info entries for \fIbinutils\fR.
254 .SH "COPYRIGHT"
255 .IX Header "COPYRIGHT"
256 Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
257 .PP
258 Permission is granted to copy, distribute and/or modify this document
259 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1
260 or any later version published by the Free Software Foundation;
261 with no Invariant Sections, with no Front-Cover Texts, and with no
262 Back-Cover Texts.  A copy of the license is included in the
263 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
This page took 0.797159 seconds and 3 git commands to generate.