From 96909b926c59a374c4054e332d56212c3e42c6c5 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Fri, 24 Jul 1998 21:52:03 +0000 Subject: [PATCH] * stabs.texinfo (Method Type Descriptor): Expand and correct. --- gdb/doc/ChangeLog | 4 ++++ gdb/doc/stabs.texinfo | 29 +++++++++++++++++------------ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 40b850dc5c1..d2136c3052c 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,7 @@ +Fri Jul 24 17:51:38 1998 Ian Lance Taylor + + * stabs.texinfo (Method Type Descriptor): Expand and correct. + Mon May 4 10:37:12 1998 Brian Youmans (3diff@gnu.org) * refcard.tex: Copyright, address updates. diff --git a/gdb/doc/stabs.texinfo b/gdb/doc/stabs.texinfo index c3bf42acc98..a4f0bc93989 100644 --- a/gdb/doc/stabs.texinfo +++ b/gdb/doc/stabs.texinfo @@ -14,7 +14,7 @@ END-INFO-DIR-ENTRY @ifinfo 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, and David MacKenzie. @@ -52,7 +52,7 @@ regarded as a program in the language TeX). @end tex @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. Permission is granted to make and distribute verbatim copies of @@ -2690,16 +2690,21 @@ pointer. @node Method Type Descriptor @section The @samp{#} Type Descriptor -This is like the @samp{f} type descriptor for functions (@pxref{Function -Types}), except that a function which uses the @samp{#} type descriptor -takes an extra argument as its first argument, for the @code{this} -pointer. The @samp{#} type descriptor is optionally followed by the -types of the arguments, then another @samp{#}. If the types of the -arguments are omitted, so that the second @samp{#} immediately follows -the @samp{#} which is the type descriptor, the arguments are being -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 -return type of the method and a semicolon. +This is used to describe a class method. This is a function which takes +an extra argument as its first argument, for the @code{this} pointer. + +If the @samp{#} is immediately followed by another @samp{#}, the second +one will be followed by the return type and a semicolon. The class and +argument types are not specified, and must be determined by demangling +the name of the method if it is available. + +Otherwise, the single @samp{#} is followed by the class type, a comma, +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 in structures, unions, or classes, for at least some versions of the -- 2.30.2