diff options
author | Per Bothner <per@bothner.com> | 1991-12-23 23:16:58 +0000 |
---|---|---|
committer | Per Bothner <per@bothner.com> | 1991-12-23 23:16:58 +0000 |
commit | 7e258d18e0112304099fbefbe910a53659b98a3d (patch) | |
tree | a1dd070cd40879a617d8cbddcf0417abf882a6af /gdb/symtab.h | |
parent | 3e60a6b1d3064f0e08369dbe0bae64d632fcb773 (diff) | |
download | gdb-7e258d18e0112304099fbefbe910a53659b98a3d.zip gdb-7e258d18e0112304099fbefbe910a53659b98a3d.tar.gz gdb-7e258d18e0112304099fbefbe910a53659b98a3d.tar.bz2 |
Oodles of changes. The most important is adding support for stabs
encapsulated in mips ecoff. See ChangeLog for the gory details.
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r-- | gdb/symtab.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h index 97b8800..bd7e050 100644 --- a/gdb/symtab.h +++ b/gdb/symtab.h @@ -197,7 +197,7 @@ struct type /* Slot to point to additional language-specific fields of this type. */ union type_specific { - /* ARG_TYPES is for TYPE_CODE_METHOD and TYPE_CODE_FUNCTION. */ + /* ARG_TYPES is for TYPE_CODE_METHOD and TYPE_CODE_FUNC. */ struct type **arg_types; /* CPLUS_STUFF is for TYPE_CODE_STRUCT. */ struct cplus_struct_type *cplus_stuff; @@ -262,6 +262,16 @@ struct cplus_struct_type unsigned char via_protected; unsigned char via_public; }; +/* The default value of TYPE_CPLUS_SPECIFIC(T) points to the + this shared static structure. */ + +extern struct cplus_struct_type cplus_struct_default; + +extern void allocate_cplus_struct_type (); +#define ALLOCATE_CPLUS_STRUCT_TYPE(type) allocate_cplus_struct_type (type) +#define HAVE_CPLUS_STRUCT(type) \ + (TYPE_CPLUS_SPECIFIC(type) != &cplus_struct_default) + /* All of the name-scope contours of the program are represented by `struct block' objects. @@ -710,9 +720,11 @@ int current_source_line; #define SET_TYPE_FIELD_VIRTUAL(thistype, n) \ B_SET (TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits, (n)) #define TYPE_FIELD_PRIVATE(thistype, n) \ - B_TST(TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits, (n)) + (TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits == NULL ? 0 \ + : B_TST(TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits, (n))) #define TYPE_FIELD_PROTECTED(thistype, n) \ -B_TST(TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits, (n)) + (TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits == NULL ? 0 \ + : B_TST(TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits, (n))) #define TYPE_FIELD_VIRTUAL(thistype, n) \ B_TST(TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits, (n)) |