summaryrefslogtreecommitdiffstats
path: root/gdb/gdbtypes.h
diff options
context:
space:
mode:
authorFred Fish <fnf@specifix.com>1992-07-09 04:40:39 +0000
committerFred Fish <fnf@specifix.com>1992-07-09 04:40:39 +0000
commit8050a57b2c1a8e7a54a81b540e6446d310a08b6b (patch)
tree94a82a32f7273ad3f341c172bf8ed44298ed10de /gdb/gdbtypes.h
parente17e8e0e03750974d678548fae82ba44f038a1c9 (diff)
downloadppe42-binutils-8050a57b2c1a8e7a54a81b540e6446d310a08b6b.tar.gz
ppe42-binutils-8050a57b2c1a8e7a54a81b540e6446d310a08b6b.zip
* dwarfread.c (alloc_utype, decode_subscr_data): Call alloc_type
to create new blank types, instead of handcrafting them. * defs.h (printfi_filtered): Add prototype. * utils.c (printfi_filtered): New function. * gdbtypes.c (recursive_dump_type): Use printfi_filtered to to simplify the code. Other cleanups. * gdbtypes.c (check_stub_method): Demangle using DMGL_ANSI. * gdbtypes.h (struct cplus_struct_type): Add comments describing use of various fields. * gdbtypes.c (print_bit_vector, print_cplus_stuff): New functions. * c-exp.y (%token): Add CLASS as a token for C++, add grammar production that currently treats it exactly the same as STRUCT. * c-exp.y (yylex): Recognize "class" as token CLASS. * symtab.c (gdb_mangle_name): Rewrite to match current g++ stabs. * symtab.c (decode_line_1): Fix to pass quoted args on down to general symbol handling code. Call cplus_mangle_opname with DMGL_ANSI. * symtab.c (decode_line_2): Print demangled function names in breakpoint menus, instead of just file and line number. * symtab.c (name_match): Call cplus_demangle with DMGL_ANSI. * valprint.c (type_print_base): Print "class" for C++ classes, rather than "struct". Print section labels for public, protected and private members of C++ classes. * values.c: Include demangle.h. * values.c (value_headof): Call cplus_demangle with DMGL_ANSI.
Diffstat (limited to 'gdb/gdbtypes.h')
-rw-r--r--gdb/gdbtypes.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index 699eff0ae1..7a16b37161 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -230,7 +230,9 @@ struct type
struct type **arg_types;
- /* CPLUS_STUFF is for TYPE_CODE_STRUCT. */
+ /* CPLUS_STUFF is for TYPE_CODE_STRUCT. It is initialized to point to
+ cplus_struct_default, a default static instance of a struct
+ cplus_struct_type. */
struct cplus_struct_type *cplus_stuff;
@@ -244,11 +246,25 @@ struct type
struct cplus_struct_type
{
+ /* For derived classes, the number of base classes is given by
+ n_baseclasses and virtual_field_bits is a bit vector containing one bit
+ per base class.
+ If the base class is virtual, the corresponding bit will be set. */
- B_TYPE *virtual_field_bits; /* if base class is virtual */
+ B_TYPE *virtual_field_bits;
+
+ /* For classes with private fields, the number of fields is given by
+ nfields and private_field_bits is a bit vector containing one bit
+ per field.
+ If the field is private, the corresponding bit will be set. */
B_TYPE *private_field_bits;
+ /* For classes with protected fields, the number of fields is given by
+ nfields and protected_field_bits is a bit vector containing one bit
+ per field.
+ If the field is private, the corresponding bit will be set. */
+
B_TYPE *protected_field_bits;
/* Number of methods described for this type */
OpenPOWER on IntegriCloud