* PR 15693 fix.

Wed Jun 10 18:04:35 1998  Frank Ch. Eigler  <fche@cygnus.com>
	* gdbtypes.c (get_discrete_bounds): Assign unsigned type flag for
	all-positive enum.
	(create_set_type): Ditto for all-positive set values.
	* values.c (unpack_field_as_long): Check for typedef in struct
	field unpacking.
This commit is contained in:
Frank Ch. Eigler
1998-06-16 08:30:47 +00:00
parent 05faca8731
commit 7924771e5d
3 changed files with 22 additions and 1 deletions

View File

@@ -395,6 +395,12 @@ get_discrete_bounds (type, lowp, highp)
if (TYPE_FIELD_BITPOS (type, i) > *highp)
*highp = TYPE_FIELD_BITPOS (type, i);
}
/* Set unsigned indicator if warranted. */
if(*lowp >= 0)
{
TYPE_FLAGS (type) |= TYPE_FLAG_UNSIGNED;
}
}
else
{
@@ -519,6 +525,10 @@ create_set_type (result_type, domain_type)
= (bit_length + TARGET_CHAR_BIT - 1) / TARGET_CHAR_BIT;
}
TYPE_FIELD_TYPE (result_type, 0) = domain_type;
if(low_bound >= 0)
TYPE_FLAGS (result_type) |= TYPE_FLAG_UNSIGNED;
return (result_type);
}