forked from Imagelibrary/binutils-gdb
* 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.
This commit is contained in:
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user