mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-19 14:29:29 +08:00
c-common.c (shorten_compare): Get the min/max value from the underlying type of an enumeration...
* c-common.c (shorten_compare): Get the min/max value from the underlying type of an enumeration, not the enumerated type itself. From-SVN: r25228
This commit is contained in:
parent
20496fa2c8
commit
8bbd56856d
@ -1,3 +1,8 @@
|
||||
Tue Feb 16 01:37:33 1999 Charles G Waldman <cgw@alum.mit.edu>
|
||||
|
||||
* c-common.c (shorten_compare): Get the min/max value from the
|
||||
underlying type of an enumeration, not the enumerated type itself.
|
||||
|
||||
Mon Feb 15 23:04:48 1999 Jeffrey A Law (law@cygnus.com)
|
||||
|
||||
* jump.c: Include insn-attr.h.
|
||||
|
@ -2406,6 +2406,12 @@ shorten_compare (op0_ptr, op1_ptr, restype_ptr, rescode_ptr)
|
||||
|
||||
type = signed_or_unsigned_type (unsignedp0, TREE_TYPE (primop0));
|
||||
|
||||
/* If TYPE is an enumeration, then we need to get its min/max
|
||||
values from it's underlying integral type, not the enumerated
|
||||
type itself. */
|
||||
if (TREE_CODE (type) == ENUMERAL_TYPE)
|
||||
type = type_for_size (TYPE_PRECISION (type), unsignedp0);
|
||||
|
||||
maxval = TYPE_MAX_VALUE (type);
|
||||
minval = TYPE_MIN_VALUE (type);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user