From 6f52d064e47ea3b527b8110ba3c09e336559a204 Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Sat, 17 Sep 1994 00:38:23 +0000 Subject: [PATCH] * 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. --- gdb/ChangeLog | 9 +++++++++ gdb/ch-typeprint.c | 2 +- gdb/ch-valprint.c | 6 +++--- gdb/gdbtypes.h | 1 + gdb/stabsread.c | 5 ----- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dc9f97ee3ca..d3e3b0c5734 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 3311e1f9200..41a7d6fb4ea 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 00f556529e6..11d1a22204f 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 a1fc18562e4..278a220c891 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 49d36ac5d97..5b5fee572dd 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) -- 2.30.2