diff options
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/ch-typeprint.c | 2 | ||||
-rw-r--r-- | gdb/ch-valprint.c | 6 | ||||
-rw-r--r-- | gdb/gdbtypes.h | 1 | ||||
-rw-r--r-- | gdb/stabsread.c | 5 |
5 files changed, 14 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dc9f97e..d3e3b0c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +Fri Sep 16 16:06:08 1994 Per Bothner (bothner@kalessin.cygnus.com) + + * gdbtypes.h (TYPE_INDEX_TYPE): New macro. + * ch-typeprint.c, ch-valprint.c: Use TYPE_INDEX_TYPE. + * ch-valprint.c (chill_val_print): Pass index type directly + (instead of its TYPE_TARGET_TYPE) to print_type_scalar. + * stabsread.c (read_type): Don't set TYPE_FLAG_TARGET_STUB + if the index type is a stub. + Fri Sep 16 17:18:44 1994 Stan Shebs (shebs@andros.cygnus.com) * config/i386/{i386aix.mh, i386bsd.mh, i386lynx.mh, i386sco.mh, diff --git a/gdb/ch-typeprint.c b/gdb/ch-typeprint.c index 3311e1f..41a7d6f 100644 --- a/gdb/ch-typeprint.c +++ b/gdb/ch-typeprint.c @@ -141,7 +141,7 @@ chill_type_print_base (type, stream, show, level) case TYPE_CODE_SET: fputs_filtered ("POWERSET ", stream); - chill_print_type (TYPE_FIELD_TYPE (type, 0), "", stream, + chill_print_type (TYPE_INDEX_TYPE (type), "", stream, show - 1, level); break; diff --git a/gdb/ch-valprint.c b/gdb/ch-valprint.c index 00f5565..11d1a22 100644 --- a/gdb/ch-valprint.c +++ b/gdb/ch-valprint.c @@ -294,7 +294,7 @@ chill_val_print (type, valaddr, address, stream, format, deref_ref, recurse, case TYPE_CODE_BITSTRING: case TYPE_CODE_SET: - elttype = TYPE_FIELD_TYPE (type, 0); + elttype = TYPE_INDEX_TYPE (type); check_stub_type (elttype); if (TYPE_FLAGS (elttype) & TYPE_FLAG_STUB) { @@ -323,7 +323,7 @@ chill_val_print (type, valaddr, address, stream, format, deref_ref, recurse, { if (need_comma) fputs_filtered (", ", stream); - print_type_scalar (TYPE_TARGET_TYPE (range), i, stream); + print_type_scalar (range, i, stream); need_comma = 1; /* Look for a continuous range of true elements. */ @@ -334,7 +334,7 @@ chill_val_print (type, valaddr, address, stream, format, deref_ref, recurse, while (i+1 <= high_bound && value_bit_index (type, valaddr, ++i)) j = i; - print_type_scalar (TYPE_TARGET_TYPE (range), j, stream); + print_type_scalar (range, j, stream); } } } diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index a1fc185..278a220 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -494,6 +494,7 @@ allocate_cplus_struct_type PARAMS ((struct type *)); #define TYPE_NFIELDS(thistype) (thistype)->nfields #define TYPE_FIELDS(thistype) (thistype)->fields +#define TYPE_INDEX_TYPE(type) TYPE_FIELD_TYPE (type, 0) #define TYPE_LOW_BOUND(range_type) TYPE_FIELD_BITPOS (range_type, 0) #define TYPE_HIGH_BOUND(range_type) TYPE_FIELD_BITPOS (range_type, 1) /* If TYPE_DUMMY_RANGE is true for a range type, it was allocated diff --git a/gdb/stabsread.c b/gdb/stabsread.c index 49d36ac..5b5fee5 100644 --- a/gdb/stabsread.c +++ b/gdb/stabsread.c @@ -1719,11 +1719,6 @@ read_type (pp, objfile) case 'S': type1 = read_type (pp, objfile); type = create_set_type ((struct type*) NULL, type1); - if (TYPE_FLAGS (type1) & TYPE_FLAG_STUB) - { - TYPE_FLAGS (type) |= TYPE_FLAG_TARGET_STUB; - add_undefined_type (type); - } if (is_string) TYPE_CODE (type) = TYPE_CODE_BITSTRING; if (typenums[0] != -1) |