diff options
author | Fred Fish <fnf@specifix.com> | 1992-07-09 04:40:39 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1992-07-09 04:40:39 +0000 |
commit | 8050a57b2c1a8e7a54a81b540e6446d310a08b6b (patch) | |
tree | 94a82a32f7273ad3f341c172bf8ed44298ed10de /gdb/gdbtypes.h | |
parent | e17e8e0e03750974d678548fae82ba44f038a1c9 (diff) | |
download | ppe42-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.h | 20 |
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 */ |