* fold-const.c (make_range): Don't try to reverse an unbounded range.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Jan 2000 08:36:51 +0000 (08:36 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 4 Jan 2000 08:36:51 +0000 (08:36 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31197 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/fold-const.c

index fe4c381..3d05611 100644 (file)
@@ -1,3 +1,7 @@
+Tue Jan  4 01:35:13 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * fold-const.c (make_range): Don't try to reverse an unbounded range.
+
 Tue Jan  4 00:18:46 2000  Jeffrey A Law  (law@cygnus.com)
 
        * regclass.c (regclass): Properly compute loop_cost.  Adjust
index 8f94161..c540b19 100644 (file)
@@ -1,5 +1,5 @@
 /* Fold a constant sub-tree into a single node for C-compiler
-   Copyright (C) 1987, 88, 92-98, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1987, 88, 92-98, 1999, 2000 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -3315,9 +3315,10 @@ make_range (exp, pin_p, plow, phigh)
 
              in_p = n_in_p, low = n_low, high = n_high;
 
-             /* If the high bound is missing, reverse the range so it
-                goes from zero to the low bound minus 1.  */
-             if (high == 0)
+             /* If the high bound is missing, but we
+                have a low bound, reverse the range so
+                it goes from zero to the low bound minus 1.  */
+             if (high == 0 && low)
                {
                  in_p = ! in_p;
                  high = range_binop (MINUS_EXPR, NULL_TREE, low, 0,