4.6.0-8
This commit is contained in:
parent
858292bd84
commit
45a8b12105
|
@ -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
|
||||
|
|
27
gcc.spec
27
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 <jakub@redhat.com> 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 <jakub@redhat.com> 4.6.0-7
|
||||
- update from the 4.6 branch
|
||||
- PRs ada/48844, c++/40975, c++/48089, c++/48446, c++/48656, c++/48749,
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
2011-05-06 Dodji Seketeli <dodji@redhat.com>
|
||||
|
||||
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 <typename T>
|
||||
+void
|
||||
+bar(T x)
|
||||
+{
|
||||
+ A &b = *x;
|
||||
+ baz (b.foo ());
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+foo()
|
||||
+{
|
||||
+ A a;
|
||||
+ bar(&a);
|
||||
+}
|
|
@ -1,58 +0,0 @@
|
|||
2011-05-07 Zdenek Dvorak <ook@ucw.cz>
|
||||
|
||||
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;
|
||||
+}
|
||||
+
|
Loading…
Reference in New Issue