From ce7c53cc890bbb9cbfaacc9e03b33d1e98977154 Mon Sep 17 00:00:00 2001 From: law Date: Tue, 4 Jan 2000 08:36:51 +0000 Subject: [PATCH] * fold-const.c (make_range): Don't try to reverse an unbounded range. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31197 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ 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 + + * 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, -- 2.7.4