From: Tom Wood Date: Sat, 27 Jun 1992 10:21:04 +0000 (+0000) Subject: *** empty log message *** X-Git-Tag: misc/cutover-egcs-0~12625 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f59028696ad31fa3caeba83f0b47271095fc883c;p=thirdparty%2Fgcc.git *** empty log message *** From-SVN: r1306 --- diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 6c406f625468..e1ad1cac048e 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -2399,7 +2399,13 @@ range_test (jcode, type, lo_code, hi_code, var, lo_cst, hi_cst) /* When normalizing, it is possible to both increment the smaller constant and decrement the larger constant. See if they are still ordered. */ - if (tree_int_cst_lt (lo_cst, hi_cst)) + if (tree_int_cst_lt (hi_cst, lo_cst)) + return 0; + + /* Fail if VAR isn't an integer. */ + utype = TREE_TYPE (var); + if (TREE_CODE (utype) != INTEGER_TYPE + && TREE_CODE (utype) != ENUMERAL_TYPE) return 0; /* The range test is invalid if subtracting the two constants results @@ -2408,7 +2414,6 @@ range_test (jcode, type, lo_code, hi_code, var, lo_cst, hi_cst) || ! int_fits_type_p (lo_cst, TREE_TYPE (var))) return 0; - utype = TREE_TYPE (var); if (! TREE_UNSIGNED (utype)) { utype = unsigned_type (utype);