* 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
+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.
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);