* 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.
This commit is contained in:
Per Bothner
1994-09-17 00:38:23 +00:00
parent 7f4a859c42
commit 6f52d064e4
5 changed files with 14 additions and 9 deletions

View File

@@ -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,

View File

@@ -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;

View File

@@ -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);
}
}
}

View File

@@ -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

View File

@@ -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)