OSDN Git Service

PR middle-end/17416
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Sep 2004 20:07:11 +0000 (20:07 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 11 Sep 2004 20:07:11 +0000 (20:07 +0000)
        * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
        in conflict loop.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87366 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/cfgexpand.c

index e0c197a..0e371fa 100644 (file)
@@ -1,3 +1,9 @@
+2004-09-11  Richard Henderson  <rth@redhat.com>
+
+       PR middle-end/17416
+       * cfgexpand.c (expand_used_vars_for_block): Fix off-by-one bug
+       in conflict loop.
+
 2004-09-11  Jan Hubicka  <jh@suse.cz>
 
        * i386.h (MODE_NEEDED): Calls need UNINITIALIZED mode; add comment.
index b73445d..71dd039 100644 (file)
@@ -670,12 +670,8 @@ expand_used_vars_for_block (tree block, bool toplevel)
       resize_stack_vars_conflict (new_sv_num);
 
       for (i = old_sv_num; i < new_sv_num; ++i)
-       for (j = i < this_sv_num ? i : this_sv_num; ; --j)
-         {
-           add_stack_var_conflict (i, j);
-           if (j == old_sv_num)
-             break;
-         }
+       for (j = i < this_sv_num ? i+1 : this_sv_num; j-- > old_sv_num ;)
+         add_stack_var_conflict (i, j);
     }
 }