diff options
author | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-02-03 16:44:13 +0000 |
---|---|---|
committer | Jim Kingdon <jkingdon@engr.sgi.com> | 1994-02-03 16:44:13 +0000 |
commit | cf7416ec3f777730180ccf4f4c02c4a8301ab79f (patch) | |
tree | b81a2c8042af3a68a57867cde0905d9c170ff859 /gdb/doc/stabs.texinfo | |
parent | 6f9dff07e17b829b8becf9fcb9b34b4711f4ceb1 (diff) | |
download | gdb-cf7416ec3f777730180ccf4f4c02c4a8301ab79f.zip gdb-cf7416ec3f777730180ccf4f4c02c4a8301ab79f.tar.gz gdb-cf7416ec3f777730180ccf4f4c02c4a8301ab79f.tar.bz2 |
* stabs.texinfo (Enumerations): Document restriction on where
enumeration types can appear and still win with GDB.
Diffstat (limited to 'gdb/doc/stabs.texinfo')
-rw-r--r-- | gdb/doc/stabs.texinfo | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/doc/stabs.texinfo b/gdb/doc/stabs.texinfo index 85c2d4e..b9cd83e 100644 --- a/gdb/doc/stabs.texinfo +++ b/gdb/doc/stabs.texinfo @@ -1892,6 +1892,18 @@ is determined by the architecture (normally all enumerations types are 32 bits). Type attributes can be used to specify an enumeration type of another size for debuggers which support them; see @ref{String Field}. +Enumeration types are unusual in that they define symbols for the +enumeration values (@code{first}, @code{second}, and @code{third} in the +above example), and even though these symbols are visible in the file as +a whole (rather than being in a more local namespace like structure +member names), they are defined in the type definition for the +enumeration type rather than each having their own symbol. In order to +be fast, GDB will only get symbols from such types (in its initial scan +of the stabs) if the type is the first thing defined after a @samp{T} or +@samp{t} symbol descriptor (the above example fulfills this +requirement). If the type does not have a name, the compiler should +emit it in a nameless stab (@pxref{String Field}); GCC does this. + @node Structures @section Structures |