summaryrefslogtreecommitdiffstats
path: root/gdb/gdbtypes.h
diff options
context:
space:
mode:
authorKung Hsu <kung@cygnus>1993-11-06 01:32:11 +0000
committerKung Hsu <kung@cygnus>1993-11-06 01:32:11 +0000
commit024f65b1800f3882845e0e92e75ffd5dbf08ec9d (patch)
tree6815aa36fae24a579bc36d798bccd6435ecf5c41 /gdb/gdbtypes.h
parent0cb95a9c27efe5ec7c5f9db6e3bbd1862041167c (diff)
downloadppe42-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.h12
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))
OpenPOWER on IntegriCloud