mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-31 13:00:08 +08:00
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>
|
2004-12-09 Richard Sandiford <rsandifo@redhat.com>
|
||||||
|
|
||||||
* simplify-rtx.c (simplify_subreg): In the CONCAT case, check whether
|
* 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,
|
type = c_common_signed_or_unsigned_type (unsignedp0,
|
||||||
TREE_TYPE (primop0));
|
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);
|
maxval = TYPE_MAX_VALUE (type);
|
||||||
minval = TYPE_MIN_VALUE (type);
|
minval = TYPE_MIN_VALUE (type);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user