* stabs.texinfo (Method Type Descriptor): Expand and correct.

This commit is contained in:
Ian Lance Taylor 1998-07-24 21:52:03 +00:00
parent 8d6476c711
commit 96909b926c
2 changed files with 21 additions and 12 deletions

View file

@ -1,3 +1,7 @@
Fri Jul 24 17:51:38 1998 Ian Lance Taylor <ian@cygnus.com>
* stabs.texinfo (Method Type Descriptor): Expand and correct.
Mon May 4 10:37:12 1998 Brian Youmans (3diff@gnu.org) Mon May 4 10:37:12 1998 Brian Youmans (3diff@gnu.org)
* refcard.tex: Copyright, address updates. * refcard.tex: Copyright, address updates.

View file

@ -14,7 +14,7 @@ END-INFO-DIR-ENTRY
@ifinfo @ifinfo
This document describes the stabs debugging symbol tables. This document describes the stabs debugging symbol tables.
Copyright 1992, 93, 94, 95, 1997 Free Software Foundation, Inc. Copyright 1992, 93, 94, 95, 97, 1998 Free Software Foundation, Inc.
Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon, Contributed by Cygnus Support. Written by Julia Menapace, Jim Kingdon,
and David MacKenzie. and David MacKenzie.
@ -52,7 +52,7 @@ regarded as a program in the language TeX).
@end tex @end tex
@vskip 0pt plus 1filll @vskip 0pt plus 1filll
Copyright @copyright{} 1992, 93, 94, 95, 1997 Free Software Foundation, Inc. Copyright @copyright{} 1992, 93, 94, 95, 97, 1998 Free Software Foundation, Inc.
Contributed by Cygnus Support. Contributed by Cygnus Support.
Permission is granted to make and distribute verbatim copies of Permission is granted to make and distribute verbatim copies of
@ -2690,16 +2690,21 @@ pointer.
@node Method Type Descriptor @node Method Type Descriptor
@section The @samp{#} Type Descriptor @section The @samp{#} Type Descriptor
This is like the @samp{f} type descriptor for functions (@pxref{Function This is used to describe a class method. This is a function which takes
Types}), except that a function which uses the @samp{#} type descriptor an extra argument as its first argument, for the @code{this} pointer.
takes an extra argument as its first argument, for the @code{this}
pointer. The @samp{#} type descriptor is optionally followed by the If the @samp{#} is immediately followed by another @samp{#}, the second
types of the arguments, then another @samp{#}. If the types of the one will be followed by the return type and a semicolon. The class and
arguments are omitted, so that the second @samp{#} immediately follows argument types are not specified, and must be determined by demangling
the @samp{#} which is the type descriptor, the arguments are being the name of the method if it is available.
omitted (to save space) and can be deduced from the mangled name of the
method. After the second @samp{#} there is type information for the Otherwise, the single @samp{#} is followed by the class type, a comma,
return type of the method and a semicolon. the return type, a comma, and zero or more parameter types separated by
commas. The list of arguments is terminated by a semicolon. In the
debugging output generated by gcc, a final argument type of @code{void}
indicates a method which does not take a variable number of arguments.
If the final argument type of @code{void} does not appear, the method
was declared with an ellipsis.
Note that although such a type will normally be used to describe fields Note that although such a type will normally be used to describe fields
in structures, unions, or classes, for at least some versions of the in structures, unions, or classes, for at least some versions of the