diff options
author | Kung Hsu <kung@cygnus> | 1993-11-06 01:32:11 +0000 |
---|---|---|
committer | Kung Hsu <kung@cygnus> | 1993-11-06 01:32:11 +0000 |
commit | 024f65b1800f3882845e0e92e75ffd5dbf08ec9d (patch) | |
tree | 6815aa36fae24a579bc36d798bccd6435ecf5c41 /gdb/gdbtypes.h | |
parent | 0cb95a9c27efe5ec7c5f9db6e3bbd1862041167c (diff) | |
download | ppe42-binutils-024f65b1800f3882845e0e92e75ffd5dbf08ec9d.tar.gz ppe42-binutils-024f65b1800f3882845e0e92e75ffd5dbf08ec9d.zip |
Modified Files:
gdbtypes.h stabsread.c cp-valprint.c ChangeLog
* gdbtypes.h : add a field 'ignore_field_bits in cplus_specific,
and macros to handle the bits.
* stabsread.c (read_one_struct_field): add VISIBILITY_IGNORE, and
for field of length 0, set this bit on.
* cp-valprint.c (cp_print_value_fields): for VISIBILITY_IGNORE
field, print <no value>.
Diffstat (limited to 'gdb/gdbtypes.h')
-rw-r--r-- | gdb/gdbtypes.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index 2ab0406068..84abd86eeb 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -347,6 +347,11 @@ struct cplus_struct_type B_TYPE *protected_field_bits; + /* for classes with fields to be ignored, either this is optimized out + or this field has length 0 */ + + B_TYPE *ignore_field_bits; + /* For classes, structures, and unions, a description of each field, which consists of an overloaded name, followed by the types of arguments that the method expects, and then the name after it @@ -484,12 +489,16 @@ allocate_cplus_struct_type PARAMS ((struct type *)); TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits #define TYPE_FIELD_PROTECTED_BITS(thistype) \ TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits +#define TYPE_FIELD_IGNORE_BITS(thistype) \ + TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits #define TYPE_FIELD_VIRTUAL_BITS(thistype) \ TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits #define SET_TYPE_FIELD_PRIVATE(thistype, n) \ B_SET (TYPE_CPLUS_SPECIFIC(thistype)->private_field_bits, (n)) #define SET_TYPE_FIELD_PROTECTED(thistype, n) \ B_SET (TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits, (n)) +#define SET_TYPE_FIELD_IGNORE(thistype, n) \ + B_SET (TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits, (n)) #define SET_TYPE_FIELD_VIRTUAL(thistype, n) \ B_SET (TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits, (n)) #define TYPE_FIELD_PRIVATE(thistype, n) \ @@ -498,6 +507,9 @@ allocate_cplus_struct_type PARAMS ((struct type *)); #define TYPE_FIELD_PROTECTED(thistype, n) \ (TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits == NULL ? 0 \ : B_TST(TYPE_CPLUS_SPECIFIC(thistype)->protected_field_bits, (n))) +#define TYPE_FIELD_IGNORE(thistype, n) \ + (TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits == NULL ? 0 \ + : B_TST(TYPE_CPLUS_SPECIFIC(thistype)->ignore_field_bits, (n))) #define TYPE_FIELD_VIRTUAL(thistype, n) \ B_TST(TYPE_CPLUS_SPECIFIC(thistype)->virtual_field_bits, (n)) |