This commit is contained in:
Jakub Jelinek 2010-05-03 20:26:52 +00:00
parent c55cbd53a6
commit 2122c33f00
5 changed files with 9 additions and 253 deletions

View File

@ -1,2 +1,2 @@
fastjar-0.97.tar.gz
gcc-4.4.4-20100430.tar.bz2
gcc-4.4.4-20100503.tar.bz2

View File

@ -1,9 +1,9 @@
%global DATE 20100430
%global SVNREV 158946
%global DATE 20100503
%global SVNREV 159002
%global gcc_version 4.4.4
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
%global gcc_release 1
%global gcc_release 2
%global _unpackaged_files_terminate_build 0
%global multilib_64_archs sparc64 ppc64 s390x x86_64
%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
@ -176,7 +176,6 @@ Patch17: gcc44-pr38757.patch
Patch18: gcc44-libstdc++-docs.patch
Patch19: gcc44-ppc64-aixdesc.patch
Patch20: gcc44-no-add-needed.patch
Patch21: gcc44-pr43893.patch
Patch1000: fastjar-0.97-segfault.patch
Patch1001: fastjar-0.97-len1.patch
@ -488,7 +487,6 @@ which are required to compile with the GNAT.
%if 0%{?fedora} >= 13
%patch20 -p0 -b .no-add-needed~
%endif
%patch21 -p0 -b .pr43893~
# This testcase doesn't compile.
rm libjava/testsuite/libjava.lang/PR35020*
@ -1878,6 +1876,9 @@ fi
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog
* Mon May 3 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-2
- fix VTA ICE on subregs of @GOTPCREL symbols (#588154, PR debug/43972)
* Fri Apr 30 2010 Jakub Jelinek <jakub@redhat.com> 4.4.4-1
- update from gcc-4_4-branch
- GCC 4.4.4 release

View File

@ -1,246 +0,0 @@
2010-04-26 Jakub Jelinek <jakub@redhat.com>
PR c/43893
* c-omp.c (c_finish_omp_for): Handle also EQ_EXPR.
* testsuite/libgomp.c/pr43893.c: New test.
* testsuite/libgomp.c++/pr43893.C: New test.
--- gcc/c-omp.c.jj 2009-12-17 15:02:26.000000000 +0100
+++ gcc/c-omp.c 2010-04-26 18:58:07.000000000 +0200
@@ -1,7 +1,7 @@
/* This file contains routines to construct GNU OpenMP constructs,
called from parsing in the C and C++ front ends.
- Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+ Copyright (C) 2005, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
Contributed by Richard Henderson <rth@redhat.com>,
Diego Novillo <dnovillo@redhat.com>.
@@ -281,7 +281,8 @@ c_finish_omp_for (location_t locus, tree
|| TREE_CODE (cond) == LE_EXPR
|| TREE_CODE (cond) == GT_EXPR
|| TREE_CODE (cond) == GE_EXPR
- || TREE_CODE (cond) == NE_EXPR)
+ || TREE_CODE (cond) == NE_EXPR
+ || TREE_CODE (cond) == EQ_EXPR)
{
tree op0 = TREE_OPERAND (cond, 0);
tree op1 = TREE_OPERAND (cond, 1);
@@ -326,18 +327,21 @@ c_finish_omp_for (location_t locus, tree
cond_ok = true;
}
- if (TREE_CODE (cond) == NE_EXPR)
+ if (TREE_CODE (cond) == NE_EXPR
+ || TREE_CODE (cond) == EQ_EXPR)
{
if (!INTEGRAL_TYPE_P (TREE_TYPE (decl)))
cond_ok = false;
else if (operand_equal_p (TREE_OPERAND (cond, 1),
TYPE_MIN_VALUE (TREE_TYPE (decl)),
0))
- TREE_SET_CODE (cond, GT_EXPR);
+ TREE_SET_CODE (cond, TREE_CODE (cond) == NE_EXPR
+ ? GT_EXPR : LE_EXPR);
else if (operand_equal_p (TREE_OPERAND (cond, 1),
TYPE_MAX_VALUE (TREE_TYPE (decl)),
0))
- TREE_SET_CODE (cond, LT_EXPR);
+ TREE_SET_CODE (cond, TREE_CODE (cond) == NE_EXPR
+ ? LT_EXPR : GE_EXPR);
else
cond_ok = false;
}
--- libgomp/testsuite/libgomp.c/pr43893.c.jj 2010-04-26 19:17:15.000000000 +0200
+++ libgomp/testsuite/libgomp.c/pr43893.c 2010-04-26 19:17:07.000000000 +0200
@@ -0,0 +1,61 @@
+/* PR c/43893 */
+/* { dg-do run } */
+
+extern void abort (void);
+
+int
+main ()
+{
+ int c;
+ unsigned int i;
+ int j;
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = 0; i < 1; i++)
+ c++;
+ if (c != 1)
+ abort ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = 0; i <= 0; i++)
+ c++;
+ if (c != 1)
+ abort ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (j = - __INT_MAX__ - 1; j < - __INT_MAX__; j++)
+ c++;
+ if (c != 1)
+ abort ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (j = - __INT_MAX__ - 1; j <= - __INT_MAX__ - 1; j++)
+ c++;
+ if (c != 1)
+ abort ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = 2U * __INT_MAX__ + 1; i > 2U * __INT_MAX__; i--)
+ c++;
+ if (c != 1)
+ abort ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = 2U * __INT_MAX__ + 1; i >= 2U * __INT_MAX__ + 1; i--)
+ c++;
+ if (c != 1)
+ abort ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (j = __INT_MAX__; j > __INT_MAX__ - 1; j--)
+ c++;
+ if (c != 1)
+ abort ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (j = __INT_MAX__; j >= __INT_MAX__; j--)
+ c++;
+ if (c != 1)
+ abort ();
+ return 0;
+}
--- libgomp/testsuite/libgomp.c++/pr43893.C.jj 2010-04-26 19:18:13.000000000 +0200
+++ libgomp/testsuite/libgomp.c++/pr43893.C 2010-04-26 19:25:33.000000000 +0200
@@ -0,0 +1,125 @@
+// PR c/43893
+// { dg-do run }
+
+extern "C" void abort ();
+
+template <typename T, T M, T N>
+void
+f1 ()
+{
+ int c;
+ T i;
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = M; i < N; i++)
+ c++;
+ if (c != 1)
+ abort ();
+}
+
+template <typename T, T M, T N>
+void
+f2 ()
+{
+ int c;
+ T i;
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = M; i <= N; i++)
+ c++;
+ if (c != 1)
+ abort ();
+}
+
+template <typename T, T M, T N>
+void
+f3 ()
+{
+ int c;
+ T i;
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = M; i > N; i--)
+ c++;
+ if (c != 1)
+ abort ();
+}
+
+template <typename T, T M, T N>
+void
+f4 ()
+{
+ int c;
+ T i;
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = M; i >= N; i--)
+ c++;
+ if (c != 1)
+ abort ();
+}
+
+int
+main ()
+{
+ int c;
+ unsigned int i;
+ int j;
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = 0; i < 1; i++)
+ c++;
+ if (c != 1)
+ abort ();
+ f1 <unsigned int, 0, 1> ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = 0; i <= 0; i++)
+ c++;
+ if (c != 1)
+ abort ();
+ f2 <unsigned int, 0, 0> ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (j = - __INT_MAX__ - 1; j < - __INT_MAX__; j++)
+ c++;
+ if (c != 1)
+ abort ();
+ f1 <int, (- __INT_MAX__ - 1), (- __INT_MAX__)> ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (j = - __INT_MAX__ - 1; j <= - __INT_MAX__ - 1; j++)
+ c++;
+ if (c != 1)
+ abort ();
+ f2 <int, (- __INT_MAX__ - 1), (- __INT_MAX__ - 1)> ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = 2U * __INT_MAX__ + 1; i > 2U * __INT_MAX__; i--)
+ c++;
+ if (c != 1)
+ abort ();
+ f3 <unsigned int, (2U * __INT_MAX__ + 1), (2U * __INT_MAX__)> ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (i = 2U * __INT_MAX__ + 1; i >= 2U * __INT_MAX__ + 1; i--)
+ c++;
+ if (c != 1)
+ abort ();
+ f4 <unsigned int, (2U * __INT_MAX__ + 1), (2U * __INT_MAX__ + 1)> ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (j = __INT_MAX__; j > __INT_MAX__ - 1; j--)
+ c++;
+ if (c != 1)
+ abort ();
+ f3 <int, __INT_MAX__, (__INT_MAX__ - 1)> ();
+ c = 0;
+#pragma omp parallel for reduction(+:c)
+ for (j = __INT_MAX__; j >= __INT_MAX__; j--)
+ c++;
+ if (c != 1)
+ abort ();
+ f4 <int, __INT_MAX__, __INT_MAX__> ();
+ return 0;
+}

View File

@ -14,3 +14,4 @@ gcc-4_4_3-16_fc14:HEAD:gcc-4.4.3-16.fc14.src.rpm:1270804085
gcc-4_4_3-18_fc14:HEAD:gcc-4.4.3-18.fc14.src.rpm:1271928364
gcc-4_4_3-19_fc14:HEAD:gcc-4.4.3-19.fc14.src.rpm:1272396546
gcc-4_4_4-1_fc14:HEAD:gcc-4.4.4-1.fc14.src.rpm:1272658058
gcc-4_4_4-2_fc14:HEAD:gcc-4.4.4-2.fc14.src.rpm:1272918393

View File

@ -1,2 +1,2 @@
2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz
060fd464e4163a716ac34942ede39591 gcc-4.4.4-20100430.tar.bz2
4e48e9d511c34389595b2ffafc29ffb5 gcc-4.4.4-20100503.tar.bz2