diff options
| -rw-r--r-- | gcc/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/fold-const.c | 9 |
2 files changed, 9 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index fe4c381..3d05611 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/fold-const.c b/gcc/fold-const.c index 8f94161..c540b19 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -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, |
