From 6b894e49920572c94685bcf10432723574eb6ba4 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Thu, 30 Jan 2003 15:44:43 +0000 Subject: [PATCH] 2003-01-30 Andrew Cagney * stabs.texinfo (Member Type Descriptor): Clarify description of `@'. Suggested by Ben Hutchings. --- gdb/doc/ChangeLog | 5 +++++ gdb/doc/stabs.texinfo | 21 ++++++++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 36f115be96..30d09cc2c9 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,8 @@ +2003-01-30 Andrew Cagney + + * stabs.texinfo (Member Type Descriptor): Clarify description of + `@'. Suggested by Ben Hutchings. + 2003-01-29 Andrew Cagney * gdb.texinfo (Maintenance Commands): Document `maint print diff --git a/gdb/doc/stabs.texinfo b/gdb/doc/stabs.texinfo index 52b88b47ff..c334d45eb3 100644 --- a/gdb/doc/stabs.texinfo +++ b/gdb/doc/stabs.texinfo @@ -2724,11 +2724,22 @@ compiler it can also be used in other contexts. @node Member Type Descriptor @section The @samp{@@} Type Descriptor -The @samp{@@} type descriptor is for a member (class and variable) type. -It is followed by type information for the offset basetype, a comma, and -type information for the type of the field being pointed to. (FIXME: -this is acknowledged to be gibberish. Can anyone say what really goes -here?). +The @samp{@@} type descriptor is used together with the @samp{*} type +descriptor for a pointer-to-non-static-member-data type. It is followed +by type information for the class (or union), a comma, and type +information for the member data. + +The following C++ source: + +@smallexample +typedef int A::*int_in_a; +@end smallexample + +generates the following stab: + +@smallexample +.stabs "int_in_a:t20=*21=@@19,1",128,0,0,0 +@end smallexample Note that there is a conflict between this and type attributes (@pxref{String Field}); both use type descriptor @samp{@@}.