]> git.pld-linux.org Git - packages/gcc.git/blame - c++filt.1
- identified change that caused regression... for testing
[packages/gcc.git] / c++filt.1
CommitLineData
f0081cb8 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"
143c++filt \- Demangle \*(C+ and Java symbols.
144.SH "SYNOPSIS"
145.IX Header "SYNOPSIS"
146c++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"
153The \*(C+ and Java languages provides function overloading, which means
154that you can write many functions with the same name (providing each
155takes parameters of different types). All \*(C+ and Java function names
156are encoded into a low-level assembly label (this process is known as
157\&\fImangling\fR). The \fBc++filt\fR
158[1]
159program does the inverse mapping: it decodes (\fIdemangles\fR) low-level
160names into user-level names so that the linker can keep these overloaded
161functions from clashing.
162.PP
163Every alphanumeric word (consisting of letters, digits, underscores,
164dollars, or periods) seen in the input is a potential label. If the
165label decodes into a \*(C+ name, the \*(C+ name replaces the low-level
166name in the output.
167.PP
168You can use \fBc++filt\fR to decipher individual symbols:
169.PP
170.Vb 1
171\& c++filt I<symbol>
172.Ve
173If no \fIsymbol\fR arguments are given, \fBc++filt\fR reads symbol
174names from the standard input and writes the demangled names to the
175standard 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
184On some systems, both the C and \*(C+ compilers put an underscore in front
185of every name. For example, the C name \f(CW\*(C`foo\*(C'\fR gets the low-level
186name \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
194Prints demangled names using Java syntax. The default is to use \*(C+
195syntax.
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
202Do 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
210different \*(C+ compilers. The argument to this option selects which
211method 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"
216the 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"
220the 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"
224the 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"
228the 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"
232the 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"
236the 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"
242Print a summary of the options to \fBc++filt\fR and exit.
243.Ip "\fB\*(--version\fR" 4
244.IX Item "version"
245Print 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"
253the Info entries for \fIbinutils\fR.
254.SH "COPYRIGHT"
255.IX Header "COPYRIGHT"
256Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
257.PP
258Permission is granted to copy, distribute and/or modify this document
259under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1
260or any later version published by the Free Software Foundation;
261with no Invariant Sections, with no Front-Cover Texts, and with no
262Back-Cover Texts. A copy of the license is included in the
263section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".
This page took 0.057095 seconds and 4 git commands to generate.