]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
*** empty log message ***
authorTom Wood <wood@gnu.org>
Sat, 27 Jun 1992 10:21:04 +0000 (10:21 +0000)
committerTom Wood <wood@gnu.org>
Sat, 27 Jun 1992 10:21:04 +0000 (10:21 +0000)
From-SVN: r1306

gcc/fold-const.c

index 6c406f6254686301e9bae4498163a4e6ab8a74fe..e1ad1cac048e01ebb0a00a4ebbb6e54c3bd3a3a8 100644 (file)
@@ -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);