rpms/gcc/F-13 gcc44-pr43893.patch, NONE, 1.1 .cvsignore, 1.314, 1.315 gcc.spec, 1.95, 1.96 gcc44-unwind-debug-hook.patch, 1.1, 1.2 import.log, 1.20, 1.21 sources, 1.319, 1.320

Jakub Jelinek jakub at fedoraproject.org
Tue Apr 27 19:29:05 UTC 2010


Author: jakub

Update of /cvs/pkgs/rpms/gcc/F-13
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv23741/F-13

Modified Files:
	.cvsignore gcc.spec gcc44-unwind-debug-hook.patch import.log 
	sources 
Added Files:
	gcc44-pr43893.patch 
Log Message:
4.4.3-19


gcc44-pr43893.patch:
 gcc/c-omp.c                             |   14 ++-
 libgomp/testsuite/libgomp.c++/pr43893.C |  125 ++++++++++++++++++++++++++++++++
 libgomp/testsuite/libgomp.c/pr43893.c   |   61 +++++++++++++++
 3 files changed, 195 insertions(+), 5 deletions(-)

--- NEW FILE gcc44-pr43893.patch ---
2010-04-26  Jakub Jelinek  <jakub at 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 at redhat.com>,
 		  Diego Novillo <dnovillo at 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;
+}


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-13/.cvsignore,v
retrieving revision 1.314
retrieving revision 1.315
diff -u -p -r1.314 -r1.315
--- .cvsignore	22 Apr 2010 09:24:32 -0000	1.314
+++ .cvsignore	27 Apr 2010 19:29:04 -0000	1.315
@@ -1,2 +1,2 @@
 fastjar-0.97.tar.gz
-gcc-4.4.3-20100422.tar.bz2
+gcc-4.4.3-20100427.tar.bz2


Index: gcc.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-13/gcc.spec,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -p -r1.95 -r1.96
--- gcc.spec	22 Apr 2010 09:24:33 -0000	1.95
+++ gcc.spec	27 Apr 2010 19:29:04 -0000	1.96
@@ -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 G
 %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 at 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 at redhat.com> 4.4.3-18
 - update from gcc-4_4-branch
   - PRs fortran/43339, fortran/43836, libgcj/40860, libgomp/43569,

gcc44-unwind-debug-hook.patch:
 unwind-dw2.c |   28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)

Index: gcc44-unwind-debug-hook.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-13/gcc44-unwind-debug-hook.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -p -r1.1 -r1.2
--- gcc44-unwind-debug-hook.patch	9 Jun 2009 14:26:59 -0000	1.1
+++ gcc44-unwind-debug-hook.patch	27 Apr 2010 19:29:04 -0000	1.2
@@ -1,3 +1,7 @@
+2010-04-27  Jakub Jelinek  <jakub at redhat.com>
+
+	* unwind-dw2.c (_Unwind_DebugHook): Add used attribute.
+
 2009-05-27  Tom Tromey  <tromey at 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


Index: import.log
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-13/import.log,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -p -r1.20 -r1.21
--- import.log	22 Apr 2010 09:24:33 -0000	1.20
+++ import.log	27 Apr 2010 19:29:04 -0000	1.21
@@ -18,3 +18,4 @@ gcc-4_4_3-14_fc13:F-13:gcc-4.4.3-14.fc13
 gcc-4_4_3-15_fc13:F-13:gcc-4.4.3-15.fc13.src.rpm:1270645785
 gcc-4_4_3-16_fc13:F-13:gcc-4.4.3-16.fc13.src.rpm:1270804069
 gcc-4_4_3-18_fc13:F-13:gcc-4.4.3-18.fc13.src.rpm:1271928249
+gcc-4_4_3-19_fc13:F-13:gcc-4.4.3-19.fc13.src.rpm:1272396517


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/F-13/sources,v
retrieving revision 1.319
retrieving revision 1.320
diff -u -p -r1.319 -r1.320
--- sources	22 Apr 2010 09:24:33 -0000	1.319
+++ sources	27 Apr 2010 19:29:04 -0000	1.320
@@ -1,2 +1,2 @@
 2659f09c2e43ef8b7d4406321753f1b2  fastjar-0.97.tar.gz
-02bd520f3420dff4702ad51aaae67278  gcc-4.4.3-20100422.tar.bz2
+21ad76ccb34ea46212625ab031ecfb41  gcc-4.4.3-20100427.tar.bz2



More information about the scm-commits mailing list