c-common.c (shorten_compare): Don't special-case min/maxval for C enumerations.
* c-common.c (shorten_compare): Don't special-case min/maxval for C enumerations. From-SVN: r91974
This commit is contained in:
parent
f80f1bab38
commit
88b3da50a8
|
@ -1,3 +1,8 @@
|
|||
2004-12-09 Richard Henderson <rth@redhat.com>
|
||||
|
||||
* c-common.c (shorten_compare): Don't special-case min/maxval
|
||||
for C enumerations.
|
||||
|
||||
2004-12-09 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
|
||||
|
|
|
@ -1983,14 +1983,6 @@ shorten_compare (tree *op0_ptr, tree *op1_ptr, tree *restype_ptr,
|
|||
type = c_common_signed_or_unsigned_type (unsignedp0,
|
||||
TREE_TYPE (primop0));
|
||||
|
||||
/* In C, if TYPE is an enumeration, then we need to get its
|
||||
min/max values from its underlying integral type, not the
|
||||
enumerated type itself. In C++, TYPE_MAX_VALUE and
|
||||
TYPE_MIN_VALUE have already been set correctly on the
|
||||
enumeration type. */
|
||||
if (!c_dialect_cxx () && TREE_CODE (type) == ENUMERAL_TYPE)
|
||||
type = c_common_type_for_size (TYPE_PRECISION (type), unsignedp0);
|
||||
|
||||
maxval = TYPE_MAX_VALUE (type);
|
||||
minval = TYPE_MIN_VALUE (type);
|
||||
|
||||
|
|
Loading…
Reference in New Issue