]> git.pld-linux.org Git - packages/gcc.git/commitdiff
- critical fix.
authorPaweł Sikora <pluto@pld-linux.org>
Tue, 16 May 2006 10:23:17 +0000 (10:23 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    gcc-pr27603.patch -> 1.1.2.1

gcc-pr27603.patch [new file with mode: 0644]

diff --git a/gcc-pr27603.patch b/gcc-pr27603.patch
new file mode 100644 (file)
index 0000000..290cd10
--- /dev/null
@@ -0,0 +1,28 @@
+--- gcc-4_1-branch/gcc/tree-ssa-loop-niter.c   (wersja 113819)
++++ gcc-4_1-branch/gcc/tree-ssa-loop-niter.c   (wersja 113820)
+@@ -1562,15 +1562,20 @@
+                   utype = unsigned_type_for (type);
+                   if (tree_int_cst_lt (step, integer_zero_node))
+-                    diff = fold_build2 (MINUS_EXPR, utype, init,
++                    diff = fold_build2 (MINUS_EXPR, type, init,
+                                         TYPE_MIN_VALUE (type));
+                   else
+-                    diff = fold_build2 (MINUS_EXPR, utype,
++                    diff = fold_build2 (MINUS_EXPR, type,
+                                         TYPE_MAX_VALUE (type), init);
+-                  estimation = fold_build2 (CEIL_DIV_EXPR, utype, diff,
+-                                            step);
+-                  record_estimate (loop, estimation, boolean_true_node, stmt);
++                  if (integer_nonzerop (step))
++                    {
++                      estimation = fold_build2 (CEIL_DIV_EXPR, type, diff,
++                                                step);
++                      record_estimate (loop,
++                                       fold_convert (utype, estimation),
++                                       boolean_true_node, stmt);
++                    }
+                 }
+               break;
This page took 0.033838 seconds and 4 git commands to generate.