From 45a8b12105a36587d51a8e99d252c5591b3b326a Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 25 May 2011 10:42:55 +0200 Subject: [PATCH] 4.6.0-8 --- .gitignore | 1 + gcc.spec | 27 +++++++++++++++------ gcc46-pr48574.patch | 47 ------------------------------------ gcc46-pr48837.patch | 58 --------------------------------------------- sources | 2 +- 5 files changed, 22 insertions(+), 113 deletions(-) delete mode 100644 gcc46-pr48574.patch delete mode 100644 gcc46-pr48837.patch diff --git a/.gitignore b/.gitignore index 1f3670b..be448e9 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ /gcc-4.6.0-20110419.tar.bz2 /gcc-4.6.0-20110428.tar.bz2 /gcc-4.6.0-20110509.tar.bz2 +/gcc-4.6.0-20110525.tar.bz2 diff --git a/gcc.spec b/gcc.spec index 8508898..e4addec 100644 --- a/gcc.spec +++ b/gcc.spec @@ -1,9 +1,9 @@ -%global DATE 20110509 -%global SVNREV 173563 +%global DATE 20110525 +%global SVNREV 174173 %global gcc_version 4.6.0 # 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 7 +%global gcc_release 8 %global _unpackaged_files_terminate_build 0 %global multilib_64_archs sparc64 ppc64 s390x x86_64 %ifarch %{ix86} x86_64 ia64 ppc ppc64 alpha @@ -170,8 +170,6 @@ Patch15: gcc46-libstdc++-docs.patch Patch17: gcc46-no-add-needed.patch Patch18: gcc46-ppl-0.10.patch Patch19: gcc46-pr47858.patch -Patch20: gcc46-pr48574.patch -Patch21: gcc46-pr48837.patch Patch1000: fastjar-0.97-segfault.patch Patch1001: fastjar-0.97-len1.patch @@ -605,8 +603,6 @@ not stable, so plugins must be rebuilt any time GCC is updated. %patch18 -p0 -b .ppl-0.10~ %endif %patch19 -p0 -b .pr47858~ -%patch20 -p0 -b .pr48574~ -%patch21 -p0 -b .pr48837~ # This testcase doesn't compile. rm libjava/testsuite/libjava.lang/PR35020* @@ -2346,6 +2342,23 @@ fi %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_version}/plugin %changelog +* Wed May 25 2011 Jakub Jelinek 4.6.0-8 +- update from the 4.6 branch + - PRs bootstrap/49086, c++/47263, c++/47336, c++/47544, c++/48522, + c++/48617, c++/48647, c++/48736, c++/48745, c++/48780, c++/48859, + c++/48869, c++/48873, c++/48884, c++/48945, c++/48948, c++/49042, + c++/49043, c++/49066, c++/49082, c++/49105, c++/49136, c/49120, + debug/48159, debug/49032, fortran/48889, libstdc++/49058, lto/48207, + lto/48703, lto/49123, middle-end/48973, middle-end/49029, + preprocessor/48677, target/48986, target/49002, target/49104, + target/49128, target/49133, tree-optimization/48172, + tree-optimization/48794, tree-optimization/48822, + tree-optimization/48975, tree-optimization/49000, + tree-optimization/49018, tree-optimization/49039, + tree-optimization/49073, tree-optimization/49079 + - ppc V2DImode ABI fix (#705764, PR target/48857) + - fix ppc var-tracking ICE (#703888, PR debug/48967) + * Mon May 9 2011 Jakub Jelinek 4.6.0-7 - update from the 4.6 branch - PRs ada/48844, c++/40975, c++/48089, c++/48446, c++/48656, c++/48749, diff --git a/gcc46-pr48574.patch b/gcc46-pr48574.patch deleted file mode 100644 index 620cd43..0000000 --- a/gcc46-pr48574.patch +++ /dev/null @@ -1,47 +0,0 @@ -2011-05-06 Dodji Seketeli - - PR c++/48574 - * class.c (fixed_type_or_null): Use type_dependent_p_push to test if - the instance has a dependent initializer. - - * g++.dg/template/dependent-expr8.C: New test case. - ---- gcc/cp/class.c -+++ gcc/cp/class.c -@@ -5939,7 +5939,7 @@ fixed_type_or_null (tree instance, int *nonnull, int *cdtorp) - itself. */ - if (TREE_CODE (instance) == VAR_DECL - && DECL_INITIAL (instance) -- && !type_dependent_expression_p (DECL_INITIAL (instance)) -+ && !type_dependent_expression_p_push (DECL_INITIAL (instance)) - && !htab_find (ht, instance)) - { - tree type; ---- gcc/testsuite/g++.dg/template/dependent-expr8.C -+++ gcc/testsuite/g++.dg/template/dependent-expr8.C -@@ -0,0 +1,25 @@ -+// Origin PR c++/48574 -+// { dg-options "-std=c++0x" } -+// { dg-do compile } -+ -+struct A -+{ -+ virtual int foo(); -+}; -+ -+void baz (int); -+ -+template -+void -+bar(T x) -+{ -+ A &b = *x; -+ baz (b.foo ()); -+} -+ -+void -+foo() -+{ -+ A a; -+ bar(&a); -+} diff --git a/gcc46-pr48837.patch b/gcc46-pr48837.patch deleted file mode 100644 index 1498478..0000000 --- a/gcc46-pr48837.patch +++ /dev/null @@ -1,58 +0,0 @@ -2011-05-07 Zdenek Dvorak - - PR tree-optimization/48837 - * tree-tailcall.c (tree_optimize_tail_calls_1): Do not mark tailcalls - when accumulator transformation is performed. - - * gcc.dg/pr48837.c: New testcase. - ---- gcc/tree-tailcall.c (revision 173533) -+++ gcc/tree-tailcall.c (revision 173534) -@@ -1021,6 +1021,14 @@ tree_optimize_tail_calls_1 (bool opt_tai - integer_one_node); - } - -+ if (a_acc || m_acc) -+ { -+ /* When the tail call elimination using accumulators is performed, -+ statements adding the accumulated value are inserted at all exits. -+ This turns all other tail calls to non-tail ones. */ -+ opt_tailcalls = false; -+ } -+ - for (; tailcalls; tailcalls = next) - { - next = tailcalls->next; ---- gcc/testsuite/gcc.dg/pr48837.c (revision 0) -+++ gcc/testsuite/gcc.dg/pr48837.c (revision 173534) -@@ -0,0 +1,30 @@ -+/* PR tree-optimization/48837 */ -+/* { dg-do run } */ -+/* { dg-options "-O2" } */ -+ -+void abort (void); -+ -+__attribute__((noinline)) -+int baz(void) -+{ -+ return 1; -+} -+ -+inline const int *bar(const int *a, const int *b) -+{ -+ return *a ? a : b; -+} -+ -+int foo(int a, int b) -+{ -+ return a || b ? baz() : foo(*bar(&a, &b), 1) + foo(1, 0); -+} -+ -+int main(void) -+{ -+ if (foo(0, 0) != 2) -+ abort(); -+ -+ return 0; -+} -+ diff --git a/sources b/sources index 239e915..393cc66 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ 2659f09c2e43ef8b7d4406321753f1b2 fastjar-0.97.tar.gz -9ed94a5e9644951bf4b5ddef37799df2 gcc-4.6.0-20110509.tar.bz2 +5bd7ccfedc39a9e978cac5d198cc8485 gcc-4.6.0-20110525.tar.bz2