4.4.3-19
This commit is contained in:
parent
e332e73999
commit
23c1e2d22a
@ -1,2 +1,2 @@
|
||||
fastjar-0.97.tar.gz
|
||||
gcc-4.4.3-20100422.tar.bz2
|
||||
gcc-4.4.3-20100427.tar.bz2
|
||||
|
19
gcc.spec
19
gcc.spec
@ -1,9 +1,9 @@
|
||||
%global DATE 20100422
|
||||
%global SVNREV 158631
|
||||
%global DATE 20100427
|
||||
%global SVNREV 158796
|
||||
%global gcc_version 4.4.3
|
||||
# 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 18
|
||||
%global gcc_release 19
|
||||
%global _unpackaged_files_terminate_build 0
|
||||
%global multilib_64_archs sparc64 ppc64 s390x x86_64
|
||||
%if 0%{?fedora} >= 13 || 0%{?rhel} >= 6
|
||||
@ -176,6 +176,7 @@ 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
|
||||
@ -487,6 +488,7 @@ 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*
|
||||
@ -1876,6 +1878,17 @@ fi
|
||||
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
|
||||
|
||||
%changelog
|
||||
* Tue Apr 27 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-19
|
||||
- Power7 backports (#584993, #585005)
|
||||
- PRs tree-optimization/43544, target/41787, target/43154, middle-end/42431,
|
||||
rtl-optimization/43413
|
||||
- add @GCC_4.5.0 symbols to libgcc_s
|
||||
- PRs target/43383, other/25232
|
||||
- force DW_CFA_def_cfa instead of DW_CFA_def_cfa_{register,offset{,_sf}}
|
||||
after DW_CFA_def_cfa_expression
|
||||
- make sure _Unwind_DebugHook uses standard calling convention
|
||||
- #pragma omp for fix (PR c/43893)
|
||||
|
||||
* Thu Apr 22 2010 Jakub Jelinek <jakub@redhat.com> 4.4.3-18
|
||||
- update from gcc-4_4-branch
|
||||
- PRs fortran/43339, fortran/43836, libgcj/40860, libgomp/43569,
|
||||
|
246
gcc44-pr43893.patch
Normal file
246
gcc44-pr43893.patch
Normal file
@ -0,0 +1,246 @@
|
||||
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;
|
||||
+}
|
@ -1,3 +1,7 @@
|
||||
2010-04-27 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* unwind-dw2.c (_Unwind_DebugHook): Add used attribute.
|
||||
|
||||
2009-05-27 Tom Tromey <tromey@redhat.com>
|
||||
|
||||
* unwind-dw2.c (_Unwind_DebugHook): New function.
|
||||
@ -5,11 +9,12 @@
|
||||
|
||||
--- gcc/unwind-dw2.c (revision 147933)
|
||||
+++ gcc/unwind-dw2.c (revision 147934)
|
||||
@@ -1473,18 +1473,31 @@ uw_init_context_1 (struct _Unwind_Contex
|
||||
@@ -1473,18 +1473,32 @@ uw_init_context_1 (struct _Unwind_Contex
|
||||
context->ra = __builtin_extract_return_addr (outer_ra);
|
||||
}
|
||||
|
||||
+static void _Unwind_DebugHook (void *, void *) __attribute__ ((__noinline__));
|
||||
+static void _Unwind_DebugHook (void *, void *)
|
||||
+ __attribute__ ((__noinline__, __used__));
|
||||
+
|
||||
+/* This function is called during unwinding. It is intended as a hook
|
||||
+ for a debugger to intercept exceptions. CFA is the CFA of the
|
||||
|
@ -12,3 +12,4 @@ gcc-4_4_3-14_fc14:HEAD:gcc-4.4.3-14.fc14.src.rpm:1270134314
|
||||
gcc-4_4_3-15_fc14:HEAD:gcc-4.4.3-15.fc14.src.rpm:1270645816
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user