rpms/gcc/devel gcc41-pr25121.patch, NONE, 1.1 gcc41-pr25432.patch, NONE, 1.1 .cvsignore, 1.121, 1.122 gcc41.spec, 1.10, 1.11 sources, 1.123, 1.124 gcc41-cxx-relro.patch, 1.2, NONE gcc41-java-jarsort.patch, 1.3, NONE gcc41-java-pr25426.patch, 1.1, NONE gcc41-java-src-filename.patch, 1.1, NONE gcc41-pr24823.patch, 1.1, NONE gcc41-pr24899.patch, 1.1, NONE gcc41-pr24982.patch, 1.1, NONE gcc41-pr25180.patch, 1.1, NONE gcc41-rh175569.patch, 1.2, NONE gcc41-unwind-dw2-glibc.patch, 1.1, NONE

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Tue Dec 20 23:32:10 UTC 2005


Author: jakub

Update of /cvs/dist/rpms/gcc/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv8434

Modified Files:
	.cvsignore gcc41.spec sources 
Added Files:
	gcc41-pr25121.patch gcc41-pr25432.patch 
Removed Files:
	gcc41-cxx-relro.patch gcc41-java-jarsort.patch 
	gcc41-java-pr25426.patch gcc41-java-src-filename.patch 
	gcc41-pr24823.patch gcc41-pr24899.patch gcc41-pr24982.patch 
	gcc41-pr25180.patch gcc41-rh175569.patch 
	gcc41-unwind-dw2-glibc.patch 
Log Message:
4.1.0-0.10


gcc41-pr25121.patch:
 recog.c |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

--- NEW FILE gcc41-pr25121.patch ---
Richard Henderson writes:
 > On Tue, Dec 20, 2005 at 05:29:11PM +0000, Andrew Haley wrote:
 > > Oh, joy.  Now I have to figure out what peep2_current_count is doing...
 > 
 > Counting the number of sequential valid instructions in the buffer.
 > Reset it to zero when you find a frame insn.

Yes, I see.

Andrew.


2005-12-20  Andrew Haley  <aph at redhat.com>

	PR middle-end/25121
	* recog.c (peephole2_optimize): Don't peephole any
	RTX_FRAME_RELATED_P insns.

Index: recog.c
===================================================================
--- recog.c	(revision 108424)
+++ recog.c	(working copy)
@@ -3118,8 +3118,18 @@
 	      propagate_one_insn (pbi, insn);
 	      COPY_REG_SET (peep2_insn_data[peep2_current].live_before, live);
 
-	      /* Match the peephole.  */
-	      try = peephole2_insns (PATTERN (insn), insn, &match_len);
+	      if (RTX_FRAME_RELATED_P (insn))
+		{
+		  /* If an insn has RTX_FRAME_RELATED_P set, peephole
+		     substitution would lose the
+		     REG_FRAME_RELATED_EXPR that is attached.  */
+		  peep2_current_count = 0;
+		  try = NULL;
+		}
+	      else
+		/* Match the peephole.  */
+		try = peephole2_insns (PATTERN (insn), insn, &match_len);
+
 	      if (try != NULL)
 		{
 		  /* If we are splitting a CALL_INSN, look for the CALL_INSN

gcc41-pr25432.patch:
 reload1.c                                    |    4 
 testsuite/gcc.c-torture/compile/20051216-1.c |  131 +++++++++++++++++++++++++++
 2 files changed, 133 insertions(+), 2 deletions(-)

--- NEW FILE gcc41-pr25432.patch ---
2005-12-16  Alan Modra  <amodra at bigpond.net.au>

	PR rtl-optimization/25432
	* reload1.c (eliminate_regs_in_insn): Update INSN_CODE if recog
	has been successful.

	* gcc.c-torture/compile/20051216-1.c: New test.

--- gcc/reload1.c	2005-12-20 23:27:24.000000000 +0100
+++ gcc/reload1.c	2005-12-20 23:28:22.000000000 +0100
@@ -3232,8 +3232,8 @@ eliminate_regs_in_insn (rtx insn, int re
 	      || GET_CODE (SET_SRC (old_set)) == PLUS))
 	{
 	  int new_icode = recog (PATTERN (insn), insn, 0);
-	  if (new_icode < 0)
-	    INSN_CODE (insn) = icode;
+	  if (new_icode >= 0)
+	    INSN_CODE (insn) = new_icode;
 	}
     }
 
--- gcc/testsuite/gcc.c-torture/compile/20051216-1.c	2005-12-20 17:09:37.240640000 +0100
+++ gcc/testsuite/gcc.c-torture/compile/20051216-1.c	2005-12-20 23:56:01.000000000 +0100
@@ -0,0 +1,131 @@
+/* PR rtl-optimization/25432 */
+
+void *malloc (__SIZE_TYPE__);
+void *realloc (void *, __SIZE_TYPE__);
+
+struct A { double x, y; };
+struct B { double x0, y0, x1, y1; };
+struct C { int n_points; int dir; struct B bbox; struct A *points; };
+struct D { int n_segs; struct C segs[1]; };
+
+void foo (int, int, int *, int, int *, struct A **, int *, int *,
+	  struct D *, int *, struct D **, int *, int **);
+int baz (struct A, struct A, struct A, struct A);
+
+static void
+bar (struct D *svp, int *n_points_max,
+     struct A p, int *seg_map, int *active_segs, int i)
+{
+  int asi, n_points;
+  struct C *seg;
+
+  asi = seg_map[active_segs[i]];
+  seg = &svp->segs[asi];
+  n_points = seg->n_points;
+  seg->points = ((struct A *)
+		realloc (seg->points, (n_points_max[asi] <<= 1) * sizeof (struct A)));
+  seg->points[n_points] = p;
+  seg->bbox.y1 = p.y;
+  seg->n_points++;
+}
+
+struct D *
+test (struct D *vp)
+{
+  int *active_segs, n_active_segs, *cursor, seg_idx;
+  double y, share_x;
+  int tmp1, tmp2, asi, i, j, *n_ips, *n_ips_max, n_segs_max;
+  struct A **ips, p_curs, *pts;
+  struct D *new_vp;
+  int *n_points_max, *seg_map, first_share;
+
+  n_segs_max = 16;
+  new_vp = (struct D *) malloc (sizeof (struct D) +
+				(n_segs_max - 1) * sizeof (struct C));
+  new_vp->n_segs = 0;
+
+  if (vp->n_segs == 0)
+    return new_vp;
+
+  active_segs = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+  cursor = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+
+  seg_map = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+  n_ips = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+  n_ips_max = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+  ips = ((struct A * *) malloc ((vp->n_segs) * sizeof (struct A *)));
+
+  n_points_max = ((int *) malloc ((n_segs_max) * sizeof (int)));
+
+  n_active_segs = 0;
+  seg_idx = 0;
+  y = vp->segs[0].points[0].y;
+  while (seg_idx < vp->n_segs || n_active_segs > 0)
+    {
+      for (i = 0; i < n_active_segs; i++)
+	{
+	  asi = active_segs[i];
+	  if (vp->segs[asi].n_points - 1 == cursor[asi] &&
+	      vp->segs[asi].points[cursor[asi]].y == y)
+	    i--;
+	}
+
+      while (seg_idx < vp->n_segs && y == vp->segs[seg_idx].points[0].y)
+	{
+	  cursor[seg_idx] = 0;
+	  n_ips[seg_idx] = 1;
+	  n_ips_max[seg_idx] = 2;
+	  ips[seg_idx] =
+	    ((struct A *) malloc ((n_ips_max[seg_idx]) * sizeof (struct A)));
+	  ips[seg_idx][0] = vp->segs[seg_idx].points[0];
+	  pts = ((struct A *) malloc ((16) * sizeof (struct A)));
+	  pts[0] = vp->segs[seg_idx].points[0];
+	  tmp1 = seg_idx;
+	  for (j = i; j < n_active_segs; j++)
+	    {
+	      tmp2 = active_segs[j];
+	      active_segs[j] = tmp1;
+	      tmp1 = tmp2;
+	    }
+	  active_segs[n_active_segs] = tmp1;
+	  n_active_segs++;
+	  seg_idx++;
+	}
+      first_share = -1;
+      share_x = 0;
+
+      for (i = 0; i < n_active_segs; i++)
+	{
+	  asi = active_segs[i];
+	  p_curs = ips[asi][1];
+	  if (p_curs.y == y)
+	    {
+	      bar (new_vp, n_points_max,
+		   p_curs, seg_map, active_segs, i);
+
+	      n_ips[asi]--;
+	      for (j = 0; j < n_ips[asi]; j++)
+		ips[asi][j] = ips[asi][j + 1];
+
+	      if (first_share < 0 || p_curs.x != share_x)
+		{
+		  foo (first_share, i,
+		       active_segs, n_active_segs,
+		       cursor, ips, n_ips, n_ips_max, vp, seg_map,
+		       &new_vp, &n_segs_max, &n_points_max);
+		  first_share = i;
+		  share_x = p_curs.x;
+		}
+	    }
+	  else
+	    {
+	      foo (first_share, i,
+		   active_segs, n_active_segs,
+		   cursor, ips, n_ips, n_ips_max, vp, seg_map,
+		   &new_vp, &n_segs_max, &n_points_max);
+	      first_share = -1;
+	    }
+	}
+    }
+  return new_vp;
+}


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.121
retrieving revision 1.122
diff -u -r1.121 -r1.122
--- .cvsignore	14 Dec 2005 22:08:07 -0000	1.121
+++ .cvsignore	20 Dec 2005 23:32:01 -0000	1.122
@@ -1 +1 @@
-gcc-4.1.0-20051214.tar.bz2
+gcc-4.1.0-20051221.tar.bz2


Index: gcc41.spec
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/gcc41.spec,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- gcc41.spec	15 Dec 2005 22:17:15 -0000	1.10
+++ gcc41.spec	20 Dec 2005 23:32:07 -0000	1.11
@@ -1,6 +1,6 @@
-%define DATE 20051214
+%define DATE 20051221
 %define gcc_version 4.1.0
-%define gcc_release 0.9
+%define gcc_release 0.10
 %define _unpackaged_files_terminate_build 0
 %define multilib_64_archs sparc64 ppc64 s390x x86_64
 %ifarch %{ix86} x86_64 ia64
@@ -94,18 +94,10 @@
 Patch13: gcc41-fortran-finclude.patch
 Patch14: gcc41-ppc64-sync.patch
 Patch15: gcc41-ppc32-retaddr.patch
-Patch17: gcc41-pr24823.patch
-Patch18: gcc41-pr24982.patch
-Patch19: gcc41-pr25180.patch
-Patch20: gcc41-s390-atomic1.patch
-Patch21: gcc41-rh175569.patch
-Patch22: gcc41-java-src-filename.patch
-Patch23: gcc41-unwind-dw2-glibc.patch
-Patch24: gcc41-cxx-relro.patch
-Patch25: gcc41-gomp-lastprivate-static.patch
-Patch26: gcc41-java-jarsort.patch
-Patch27: gcc41-java-pr25426.patch
-Patch28: gcc41-pr24899.patch
+Patch16: gcc41-s390-atomic1.patch
+Patch17: gcc41-gomp-lastprivate-static.patch
+Patch18: gcc41-pr25432.patch
+Patch19: gcc41-pr25121.patch
 
 %define _gnu %{nil}
 %ifarch sparc
@@ -450,18 +442,10 @@
 %patch13 -p0 -b .fortran-finclude~
 %patch14 -p0 -b .ppc64-sync~
 %patch15 -p0 -b .ppc32-retaddr~
-%patch17 -p0 -b .pr24823~
-%patch18 -p0 -b .pr24982~
-%patch19 -p0 -b .pr25180~
-%patch20 -p0 -b .s390-atomic1~
-%patch21 -p0 -b .rh175569~
-%patch22 -p0 -b .java-src-filename~
-%patch23 -p0 -b .unwind-dw2-glibc~
-%patch24 -p0 -b .cxx-relro~
-%patch25 -p0 -b .gomp-lastprivate-static~
-%patch26 -p0 -b .java-jarsort~
-%patch27 -p0 -b .java-pr25426~
-%patch28 -p0 -b .pr24899~
+%patch16 -p0 -b .s390-atomic1~
+%patch17 -p0 -b .gomp-lastprivate-static~
+%patch18 -p0 -b .pr25432~
+%patch19 -p0 -b .pr25121~
 
 sed -i -e 's/4\.1\.0/4.1.0/' gcc/BASE-VER gcc/version.c
 sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c
@@ -1541,21 +1525,35 @@
 %endif
 
 %changelog
-* Thu Dec 14 2005 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.9
+* Wed Dec 21 2005 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.10
+- update from gcc-4_1-branch (-r108539:108861)
+  - PRs ada/18659, ada/18819, c++/20552, c++/21228, c++/24278, c++/24915,
+	fortran/18197, fortran/25458, libgfortran/25039, libgfortran/25264,
+	libgfortran/25349, libobjc/14382, libstdc++/25421, middle-end/22313,
+	middle-end/24306, rtl-optimization/23837, rtl-optimization/25224,
+	rtl-optimization/25310, target/24969, testsuite/25215,
+	tree-optimization/23838, tree-optimization/24378
+- update from gomp-20050608-branch (up to -r108859)
+  - fix _Pragma handling (Richard Henderson, PR preprocessor/25240)
+- fix reload re-recognition of insns (Alan Modra, PR rtl-optimization/25432)
+- don't peephole RTX_FRAME_RELATED_P insns (Andrew Haley, PR
+  middle-end/25121)
+
+* Thu Dec 15 2005 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.9
 - fix OpenMP lastprivate handling for global vars (Aldy Hernandez)
 - fix gnu.xml.dom.DomNode's detach method (Caolan McNamara,
   PR classpath/25426)
-- fix up the #175569 fix (Tom Tromey, #175833)
+- fix up the #175569 fix (Tom Tromey, #175833, PR java/25429)
 - fix strength reduction miscompilation of libgnomecanvas
   (#175669, PR rtl-optimization/24899)
 - create libgcj-*.jar with - at E options and feed a sorted list to
   it rather than relying on filesystem sorting
 
-* Wed Dec 13 2005 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.8
+* Wed Dec 14 2005 Jakub Jelinek <jakub at redhat.com> 4.1.0-0.8
 - update from gcc-4_1-branch (-r108414:108539)
   - PRs classpath/25389, fortran/23815, fortran/25078, target/25254
 - fix Java ICE on initialized static final var used in case
-  (Andrew Haley, #175569)
+  (Andrew Haley, #175569, PR java/25429)
 - fix crash in _Unwind_IteratePhdrCallback (Andrew Haley)
 - don't Require alsa-lib-devel, just BuildRequire it
   (#175627)


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/gcc/devel/sources,v
retrieving revision 1.123
retrieving revision 1.124
diff -u -r1.123 -r1.124
--- sources	14 Dec 2005 22:08:07 -0000	1.123
+++ sources	20 Dec 2005 23:32:07 -0000	1.124
@@ -1 +1 @@
-f0e4419d832cc7cc78485c51a3bc69d2  gcc-4.1.0-20051214.tar.bz2
+91f7e1af9a089a5479fc3a8262f7d59c  gcc-4.1.0-20051221.tar.bz2


--- gcc41-cxx-relro.patch DELETED ---


--- gcc41-java-jarsort.patch DELETED ---


--- gcc41-java-pr25426.patch DELETED ---


--- gcc41-java-src-filename.patch DELETED ---


--- gcc41-pr24823.patch DELETED ---


--- gcc41-pr24899.patch DELETED ---


--- gcc41-pr24982.patch DELETED ---


--- gcc41-pr25180.patch DELETED ---


--- gcc41-rh175569.patch DELETED ---


--- gcc41-unwind-dw2-glibc.patch DELETED ---




More information about the fedora-cvs-commits mailing list