From 7d4d713ef5210b5efe05bf4d7608c6e3122caf76 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sun, 17 Sep 2006 10:53:40 +0000 Subject: [PATCH] 4.1.1-23 --- .cvsignore | 2 +- gcc41-pr29059.patch | 76 +++++++++++++++++++++++++++++++++++++++++++++ gcc41.spec | 12 +++++-- sources | 2 +- 4 files changed, 88 insertions(+), 4 deletions(-) create mode 100644 gcc41-pr29059.patch diff --git a/.cvsignore b/.cvsignore index ddaf593..2fedd21 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -gcc-4.1.1-20060915.tar.bz2 +gcc-4.1.1-20060917.tar.bz2 diff --git a/gcc41-pr29059.patch b/gcc41-pr29059.patch new file mode 100644 index 0000000..b9dbd8a --- /dev/null +++ b/gcc41-pr29059.patch @@ -0,0 +1,76 @@ +2006-09-16 Andrew Pinski + + PR tree-opt/29059 + * tree-ssa-propagate.c (set_rhs): Reject MODIFY_EXPR right + away for the expr argument. + + * gcc.c-torture/compile/strcpy-1.c: New test. + * gcc.c-torture/compile/strcpy-2.c: New test. + * gcc.c-torture/compile/memcpy-1.c: New test. + * gcc.c-torture/compile/memcpy-2.c: New test. + +--- gcc/tree-ssa-propagate.c (revision 116996) ++++ gcc/tree-ssa-propagate.c (revision 116997) +@@ -588,7 +588,8 @@ set_rhs (tree *stmt_p, tree expr) + && !is_gimple_val (TREE_OPERAND (TREE_OPERAND (expr, 0), 1))) + return false; + } +- else if (code == COMPOUND_EXPR) ++ else if (code == COMPOUND_EXPR ++ || code == MODIFY_EXPR) + return false; + + switch (TREE_CODE (stmt)) +--- gcc/testsuite/gcc.c-torture/compile/strcpy-1.c (revision 0) ++++ gcc/testsuite/gcc.c-torture/compile/strcpy-1.c (revision 116997) +@@ -0,0 +1,15 @@ ++ ++ ++typedef struct ++{ ++ char str[20]; ++}STACK; ++STACK stack[15]; ++int level; ++rezero () ++{ ++ level = 0; ++ __builtin_strcpy (stack[level].str, ""); ++} ++ ++ +--- gcc/testsuite/gcc.c-torture/compile/strcpy-2.c (revision 0) ++++ gcc/testsuite/gcc.c-torture/compile/strcpy-2.c (revision 116997) +@@ -0,0 +1,7 @@ ++char wrkstr_un[270]; ++extern void ++LoadUserAlph (char *s) ++{ ++ s = &wrkstr_un[0]; ++ __builtin_strcpy (s, ""); ++}; +--- gcc/testsuite/gcc.c-torture/compile/memcpy-1.c (revision 0) ++++ gcc/testsuite/gcc.c-torture/compile/memcpy-1.c (revision 116997) +@@ -0,0 +1,9 @@ ++static const char OggFLAC__MAPPING_VERSION_MAJOR = 1; ++void f(void) ++{ ++ char synthetic_first_packet_body[10]; ++ char *b = &synthetic_first_packet_body[4]; ++ __builtin_memcpy (b, &OggFLAC__MAPPING_VERSION_MAJOR, (1u)); ++} ++ ++ +--- gcc/testsuite/gcc.c-torture/compile/memcpy-2.c (revision 0) ++++ gcc/testsuite/gcc.c-torture/compile/memcpy-2.c (revision 116997) +@@ -0,0 +1,10 @@ ++static const char OggFLAC__MAPPING_VERSION_MAJOR = 1; ++void f(void) ++{ ++ char synthetic_first_packet_body[10]; ++ char *b = synthetic_first_packet_body; ++ b+=4u; ++ __builtin_memcpy (b, &OggFLAC__MAPPING_VERSION_MAJOR, (1u)); ++} ++ ++ diff --git a/gcc41.spec b/gcc41.spec index aa08000..aa7d2c7 100644 --- a/gcc41.spec +++ b/gcc41.spec @@ -1,6 +1,6 @@ -%define DATE 20060915 +%define DATE 20060917 %define gcc_version 4.1.1 -%define gcc_release 22 +%define gcc_release 23 %define _unpackaged_files_terminate_build 0 %define multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch %{ix86} x86_64 ia64 @@ -145,6 +145,7 @@ Patch36: gcc41-pr26026.patch Patch37: gcc41-pr28659.patch Patch38: gcc41-pr27567.patch Patch39: gcc41-pr28046.patch +Patch40: gcc41-pr29059.patch %define _gnu %{nil} %ifarch sparc @@ -467,6 +468,7 @@ which are required to run programs compiled with the GNAT. %patch37 -p0 -b .pr28659~ %patch38 -p0 -b .pr27567~ %patch39 -p0 -b .pr28046~ +%patch40 -p0 -b .pr29059~ sed -i -e 's/4\.1\.2/4.1.1/' gcc/BASE-VER gcc/version.c sed -i -e 's/" (Red Hat[^)]*)"/" (Red Hat %{version}-%{gcc_release})"/' gcc/version.c @@ -1528,6 +1530,12 @@ fi %doc rpm.doc/changelogs/libmudflap/ChangeLog* %changelog +* Sun Sep 17 2006 Jakub Jelinek 4.1.1-23 +- update from gcc-4_1-branch (-r116958:117000) + - PRs fortran/29051, target/28946 +- fix single entry mem{{,p}cpy,move,set} optimization (Andrew Pinski, + PR tree-opt/29059) + * Fri Sep 15 2006 Jakub Jelinek 4.1.1-22 - update from gcc-4_1-branch (-r116778:116958) - PRs ada/21952, ada/29025, c++/26957, fortran/28890, fortran/28923, diff --git a/sources b/sources index 16d38ed..83d7262 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0ac7df765d5ee8713670a30e4a0497a7 gcc-4.1.1-20060915.tar.bz2 +30d24a5101c7085b47b97a5a6715a6cd gcc-4.1.1-20060917.tar.bz2