rpms/gcc/devel gcc43-pr37858.patch, NONE, 1.1 gcc43-pr37870.patch, NONE, 1.1 gcc43-pr37879.patch, NONE, 1.1 gcc43-pr37924.patch, NONE, 1.1 .cvsignore, 1.245, 1.246 gcc43.spec, 1.47, 1.48 sources, 1.248, 1.249
Jakub Jelinek
jakub at fedoraproject.org
Wed Nov 5 10:16:18 UTC 2008
- Previous message (by thread): rpms/system-config-date/devel .cvsignore, 1.93, 1.94 sources, 1.101, 1.102 system-config-date.spec, 1.105, 1.106
- Next message (by thread): rpms/m17n-contrib/devel or-inscript-ZWJ-ZWNJ-466748.patch, NONE, 1.1 as-inscript-keysummary-440201.patch, 1.1, 1.2 bug433416-bn-probhat.patch, 1.1, 1.2 kn-inscript-ZWNJ-440007.patch, 1.1, 1.2 m17n-contrib.spec, 1.19, 1.20 ml-inscript-keysummary-435259.patch, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jakub
Update of /cvs/pkgs/rpms/gcc/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv4645
Modified Files:
.cvsignore gcc43.spec sources
Added Files:
gcc43-pr37858.patch gcc43-pr37870.patch gcc43-pr37879.patch
gcc43-pr37924.patch
Log Message:
4.3.2-7
gcc43-pr37858.patch:
--- NEW FILE gcc43-pr37858.patch ---
2008-11-03 Jakub Jelinek <jakub at redhat.com>
PR middle-end/37858
* passes.c (execute_one_pass): Don't look at cfun->curr_properties
for ipa and simple ipa passes.
* gcc.dg/pr37858.c: New test.
--- gcc/passes.c (revision 141544)
+++ gcc/passes.c (revision 141545)
@@ -1289,6 +1289,7 @@ execute_one_pass (struct opt_pass *pass)
if (initializing_dump
&& dump_file
&& graph_dump_format != no_graph
+ && cfun
&& (cfun->curr_properties & (PROP_cfg | PROP_rtl))
== (PROP_cfg | PROP_rtl))
{
--- gcc/testsuite/gcc.dg/pr37858.c (revision 0)
+++ gcc/testsuite/gcc.dg/pr37858.c (revision 141545)
@@ -0,0 +1,11 @@
+/* PR middle-end/37858 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-ipa-early_local_cleanups -dv" } */
+
+int
+main (void)
+{
+ return 0;
+}
+
+/* { dg-final { cleanup-ipa-dump "early_local_cleanups" } } */
gcc43-pr37870.patch:
--- NEW FILE gcc43-pr37870.patch ---
2008-10-29 Jakub Jelinek <jakub at redhat.com>
PR middle-end/37870
* expmed.c (extract_bit_field_1): If int_mode_for_mode returns
BLKmode for non-memory, convert using a wider MODE_INT mode
or through memory.
* gcc.target/i386/pr37870.c: New test.
--- gcc/expmed.c (revision 141429)
+++ gcc/expmed.c (revision 141430)
@@ -1278,9 +1278,8 @@ extract_bit_field_1 (rtx str_rtx, unsign
{
if (MEM_P (op0))
op0 = adjust_address (op0, imode, 0);
- else
+ else if (imode != BLKmode)
{
- gcc_assert (imode != BLKmode);
op0 = gen_lowpart (imode, op0);
/* If we got a SUBREG, force it into a register since we
@@ -1288,6 +1287,24 @@ extract_bit_field_1 (rtx str_rtx, unsign
if (GET_CODE (op0) == SUBREG)
op0 = force_reg (imode, op0);
}
+ else if (REG_P (op0))
+ {
+ rtx reg, subreg;
+ imode = smallest_mode_for_size (GET_MODE_BITSIZE (GET_MODE (op0)),
+ MODE_INT);
+ reg = gen_reg_rtx (imode);
+ subreg = gen_lowpart_SUBREG (GET_MODE (op0), reg);
+ emit_move_insn (subreg, op0);
+ op0 = reg;
+ bitnum += SUBREG_BYTE (subreg) * BITS_PER_UNIT;
+ }
+ else
+ {
+ rtx mem = assign_stack_temp (GET_MODE (op0),
+ GET_MODE_SIZE (GET_MODE (op0)), 0);
+ emit_move_insn (mem, op0);
+ op0 = adjust_address (mem, BLKmode, 0);
+ }
}
}
--- gcc/testsuite/gcc.target/i386/pr37870.c (revision 0)
+++ gcc/testsuite/gcc.target/i386/pr37870.c (revision 141430)
@@ -0,0 +1,29 @@
+/* PR middle-end/37870 */
+/* { dg-do run } */
+/* { dg-options "-O2" } */
+
+unsigned int
+foo (long double x)
+{
+ struct { char a[8]; unsigned int b:7; } c;
+ __builtin_memcpy (&c, &x, sizeof (c));
+ return c.b;
+}
+
+unsigned int
+bar (long double x)
+{
+ union { struct { char a[8]; unsigned int b:7; } c; long double d; } u;
+ u.d = x;
+ return u.c.b;
+}
+
+int
+main (void)
+{
+ if (foo (1.245L) != bar (1.245L)
+ || foo (245.67L) != bar (245.67L)
+ || foo (0.00567L) != bar (0.00567L))
+ __builtin_abort ();
+ return 0;
+}
gcc43-pr37879.patch:
--- NEW FILE gcc43-pr37879.patch ---
2008-10-27 Jakub Jelinek <jakub at redhat.com>
PR tree-optimization/37879
* predict.c (tree_estimate_probability): Check if last_stmt is
non-NULL before dereferencing it.
* gcc.dg/pr37879.c: New test.
--- gcc/predict.c (revision 141389)
+++ gcc/predict.c (revision 141390)
@@ -1374,6 +1374,7 @@ tree_estimate_probability (void)
{
edge e;
edge_iterator ei;
+ tree last;
FOR_EACH_EDGE (e, ei, bb->succs)
{
@@ -1396,7 +1397,8 @@ tree_estimate_probability (void)
&& e->dest != EXIT_BLOCK_PTR
&& single_succ_p (e->dest)
&& single_succ_edge (e->dest)->dest == EXIT_BLOCK_PTR
- && TREE_CODE (last_stmt (e->dest)) == RETURN_EXPR)
+ && (last = last_stmt (e->dest)) != NULL_TREE
+ && TREE_CODE (last) == RETURN_EXPR)
{
edge e1;
edge_iterator ei1;
--- gcc/testsuite/gcc.dg/pr37879.c (revision 0)
+++ gcc/testsuite/gcc.dg/pr37879.c (revision 141390)
@@ -0,0 +1,28 @@
+/* PR tree-optimization/37879 */
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+
+static inline void bar (int) __attribute__ ((noreturn));
+void baz () __attribute__ ((noreturn));
+
+inline int
+foo (int i)
+{
+ return i;
+}
+
+int i = 23;
+static inline void
+bar (int j)
+{
+ if (j)
+ asm ("");
+} /* { dg-warning "does return" } */
+
+void
+baz ()
+{
+ int j;
+ bar (foo (j = i++));
+ asm ("");
+}
gcc43-pr37924.patch:
--- NEW FILE gcc43-pr37924.patch ---
2008-10-28 Jakub Jelinek <jakub at redhat.com>
PR c/37924
* combine.c (make_compound_operation): Don't call make_extraction with
non-positive length.
(simplify_shift_const_1): Canonicalize count even if complement_p.
* gcc.c-torture/execute/pr37924.c: New test.
--- gcc/combine.c (revision 141412)
+++ gcc/combine.c (revision 141413)
@@ -7024,7 +7024,8 @@ make_compound_operation (rtx x, enum rtx
if (GET_CODE (rhs) == CONST_INT
&& GET_CODE (lhs) == ASHIFT
&& GET_CODE (XEXP (lhs, 1)) == CONST_INT
- && INTVAL (rhs) >= INTVAL (XEXP (lhs, 1)))
+ && INTVAL (rhs) >= INTVAL (XEXP (lhs, 1))
+ && INTVAL (rhs) < mode_width)
{
new = make_compound_operation (XEXP (lhs, 0), next_code);
new = make_extraction (mode, new,
@@ -7044,6 +7045,7 @@ make_compound_operation (rtx x, enum rtx
&& (OBJECT_P (SUBREG_REG (lhs))))
&& GET_CODE (rhs) == CONST_INT
&& INTVAL (rhs) < HOST_BITS_PER_WIDE_INT
+ && INTVAL (rhs) < mode_width
&& (new = extract_left_shift (lhs, INTVAL (rhs))) != 0)
new = make_extraction (mode, make_compound_operation (new, next_code),
0, NULL_RTX, mode_width - INTVAL (rhs),
@@ -9023,11 +9025,6 @@ simplify_shift_const_1 (enum rtx_code co
if (GET_CODE (varop) == CLOBBER)
return NULL_RTX;
- /* If we discovered we had to complement VAROP, leave. Making a NOT
- here would cause an infinite loop. */
- if (complement_p)
- break;
-
/* Convert ROTATERT to ROTATE. */
if (code == ROTATERT)
{
@@ -9073,6 +9070,11 @@ simplify_shift_const_1 (enum rtx_code co
}
}
+ /* If we discovered we had to complement VAROP, leave. Making a NOT
+ here would cause an infinite loop. */
+ if (complement_p)
+ break;
+
/* An arithmetic right shift of a quantity known to be -1 or 0
is a no-op. */
if (code == ASHIFTRT
--- gcc/testsuite/gcc.c-torture/execute/pr37924.c (revision 0)
+++ gcc/testsuite/gcc.c-torture/execute/pr37924.c (revision 141413)
@@ -0,0 +1,50 @@
+/* PR c/37924 */
+
+extern void abort (void);
+
+signed char a;
+unsigned char b;
+
+int
+test1 (void)
+{
+ int c = -1;
+ return ((unsigned int) (a ^ c)) >> 9;
+}
+
+int
+test2 (void)
+{
+ int c = -1;
+ return ((unsigned int) (b ^ c)) >> 9;
+}
+
+int
+main (void)
+{
+ a = 0;
+ if (test1 () != (-1U >> 9))
+ abort ();
+ a = 0x40;
+ if (test1 () != (-1U >> 9))
+ abort ();
+ a = 0x80;
+ if (test1 () != (a < 0) ? 0 : (-1U >> 9))
+ abort ();
+ a = 0xff;
+ if (test1 () != (a < 0) ? 0 : (-1U >> 9))
+ abort ();
+ b = 0;
+ if (test2 () != (-1U >> 9))
+ abort ();
+ b = 0x40;
+ if (test2 () != (-1U >> 9))
+ abort ();
+ b = 0x80;
+ if (test2 () != (-1U >> 9))
+ abort ();
+ b = 0xff;
+ if (test2 () != (-1U >> 9))
+ abort ();
+ return 0;
+}
Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/.cvsignore,v
retrieving revision 1.245
retrieving revision 1.246
diff -u -r1.245 -r1.246
--- .cvsignore 8 Oct 2008 13:12:55 -0000 1.245
+++ .cvsignore 5 Nov 2008 10:15:48 -0000 1.246
@@ -1,2 +1,2 @@
-gcc-4.3.2-20081008.tar.bz2
+gcc-4.3.2-20081105.tar.bz2
fastjar-0.95.tar.gz
Index: gcc43.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/gcc43.spec,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -r1.47 -r1.48
--- gcc43.spec 9 Oct 2008 11:05:08 -0000 1.47
+++ gcc43.spec 5 Nov 2008 10:15:48 -0000 1.48
@@ -1,9 +1,9 @@
-%define DATE 20081008
-%define SVNREV 140973
+%define DATE 20081105
+%define SVNREV 141601
%define gcc_version 4.3.2
# Note, gcc_release must be integer, if you want to add suffixes to
# %{release}, append them after %{gcc_release} on Release: line.
-%define gcc_release 6
+%define gcc_release 7
%define _unpackaged_files_terminate_build 0
%define multilib_64_archs sparc64 ppc64 s390x x86_64
%define include_gappletviewer 1
@@ -161,6 +161,10 @@
Patch25: gcc43-aes.patch
Patch26: gcc43-pr29609-2.patch
Patch27: gcc43-pr29609-3.patch
+Patch28: gcc43-pr37870.patch
+Patch29: gcc43-pr37858.patch
+Patch30: gcc43-pr37879.patch
+Patch31: gcc43-pr37924.patch
# On ARM EABI systems, we do want -gnueabi to be part of the
# target triple.
@@ -472,6 +476,10 @@
%patch25 -p0 -b .aes~
%patch26 -p0 -b .pr29609-2~
%patch27 -p0 -b .pr29609-3~
+%patch28 -p0 -b .pr37870~
+%patch29 -p0 -b .pr37858~
+%patch30 -p0 -b .pr37879~
+%patch31 -p0 -b .pr37924~
tar xzf %{SOURCE4}
@@ -640,7 +648,10 @@
%else
--enable-java-awt=gtk --disable-dssi --enable-plugin \
--with-java-home=%{_prefix}/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre \
- --enable-libgcj-multifile --enable-java-maintainer-mode \
+ --enable-libgcj-multifile \
+%if !%{bootstrap_java}
+ --enable-java-maintainer-mode \
+%endif
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar \
--disable-libjava-multilib \
%endif
@@ -1721,6 +1732,18 @@
%doc rpm.doc/changelogs/libmudflap/ChangeLog*
%changelog
+* Wed Nov 5 2008 Jakub Jelinek <jakub at redhat.com> 4.3.2-7
+- update from gcc-4_3-branch
+ - PRs c/35437, fortran/35680, fortran/37723, fortran/37749, fortran/37787,
+ fortran/37794, fortran/37903, libfortran/37707, libfortran/37863,
+ middle-end/37882, other/37897, rtl-optimization/37769, target/37909,
+ target/37939, tree-optimization/37102
+- fix ICE in extract_bit_field_1 (PR middle-end/37870)
+- combiner fix for shifts (PR c/37924)
+- fix -fdump-ipa-all -dv (PR middle-end/37858)
+- fix ICE with wrong use of noreturn attribute (PR tree-optimization/37879)
+- fix up --with-java_bootstrap build
+
* Thu Oct 9 2008 Jakub Jelinek <jakub at redhat.com> 4.3.2-6
- fix fallouts from the -g -O0 debugging patch (#466169, #466198)
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/gcc/devel/sources,v
retrieving revision 1.248
retrieving revision 1.249
diff -u -r1.248 -r1.249
--- sources 8 Oct 2008 13:12:55 -0000 1.248
+++ sources 5 Nov 2008 10:15:48 -0000 1.249
@@ -1,2 +1,2 @@
-39dfde91a766f447711d967c4806da89 gcc-4.3.2-20081008.tar.bz2
+eb9ce8c6f929283bc91c93a6087e8ced gcc-4.3.2-20081105.tar.bz2
92a70f9e56223b653bce0f58f90cf950 fastjar-0.95.tar.gz
- Previous message (by thread): rpms/system-config-date/devel .cvsignore, 1.93, 1.94 sources, 1.101, 1.102 system-config-date.spec, 1.105, 1.106
- Next message (by thread): rpms/m17n-contrib/devel or-inscript-ZWJ-ZWNJ-466748.patch, NONE, 1.1 as-inscript-keysummary-440201.patch, 1.1, 1.2 bug433416-bn-probhat.patch, 1.1, 1.2 kn-inscript-ZWNJ-440007.patch, 1.1, 1.2 m17n-contrib.spec, 1.19, 1.20 ml-inscript-keysummary-435259.patch, 1.1, 1.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list