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:
Richard Henderson 2004-12-09 14:52:15 -08:00 committed by Richard Henderson
parent f80f1bab38
commit 88b3da50a8
2 changed files with 5 additions and 8 deletions

View File

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

View File

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