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