diff options
author | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2014-08-08 15:32:40 +0000 |
---|---|---|
committer | doko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca> | 2014-08-08 15:32:40 +0000 |
commit | a620601f16036f006a8dd21ad43052404565a1fd (patch) | |
tree | 888c00c3d92313a1c196b78a188ac4b9423c8b87 | |
parent | 1bf573a334526491ec222f814d0972e4a2458548 (diff) | |
download | gcc-49-a620601f16036f006a8dd21ad43052404565a1fd.tar.gz |
* Update to SVN 20140808 (r213759) from the gcc-4_9-branch.
git-svn-id: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.9@7560 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
-rw-r--r-- | debian/changelog | 4 | ||||
-rw-r--r-- | debian/patches/svn-updates.diff | 293 |
2 files changed, 287 insertions, 10 deletions
diff --git a/debian/changelog b/debian/changelog index 4b087d4..2af9404 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,10 @@ gcc-4.9 (4.9.1-5) UNRELEASED; urgency=medium - * Update to SVN 20140807 (r213709) from the gcc-4_9-branch. + * Update to SVN 20140808 (r213759) from the gcc-4_9-branch. - Fix PR tree-optimization/61964. LP: #1347147. * Fix libphobos cross build. - -- Matthias Klose <doko@debian.org> Thu, 07 Aug 2014 15:19:59 +0200 + -- Matthias Klose <doko@debian.org> Fri, 08 Aug 2014 17:28:55 +0200 gcc-4.9 (4.9.1-4) unstable; urgency=high diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff index 67a29a1..0416086 100644 --- a/debian/patches/svn-updates.diff +++ b/debian/patches/svn-updates.diff @@ -1,10 +1,10 @@ -# DP: updates from the 4.9 branch upto 20140807 (r213709). +# DP: updates from the 4.9 branch upto 20140808 (r213759). last_update() { cat > ${dir}LAST_UPDATED <EOF -Thu Aug 7 15:12:59 CEST 2014 -Thu Aug 7 13:12:59 UTC 2014 (revision 213709) +Fri Aug 8 17:19:33 CEST 2014 +Fri Aug 8 15:19:33 UTC 2014 (revision 213759) EOF } @@ -2626,7 +2626,7 @@ Index: gcc/DATESTAMP +++ b/src/gcc/DATESTAMP (.../branches/gcc-4_9-branch) @@ -1 +1 @@ -20140716 -+20140807 ++20140808 Index: gcc/omp-low.c =================================================================== --- a/src/gcc/omp-low.c (.../tags/gcc_4_9_1_release) @@ -3438,6 +3438,17 @@ Index: gcc/testsuite/gfortran.dg/dependency_44.f90 +! print *, res2 + if (any(res1 /= res2)) call abort () +end program prgm3 +Index: gcc/testsuite/gfortran.dg/pr45636.f90 +=================================================================== +--- a/src/gcc/testsuite/gfortran.dg/pr45636.f90 (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/gfortran.dg/pr45636.f90 (.../branches/gcc-4_9-branch) +@@ -10,5 +10,5 @@ + b = y + call sub(a, b) + end program main +-! { dg-final { scan-tree-dump-times "memset" 0 "forwprop2" { xfail { mips*-*-* && { ! nomips16 } } } } } ++! { dg-final { scan-tree-dump-times "memset" 0 "forwprop2" { xfail { { hppa*-*-* && { ! lp64 } } || { mips*-*-* && { ! nomips16 } } } } } } + ! { dg-final { cleanup-tree-dump "forwprop2" } } Index: gcc/testsuite/gcc.c-torture/execute/pr23135.x =================================================================== --- a/src/gcc/testsuite/gcc.c-torture/execute/pr23135.x (.../tags/gcc_4_9_1_release) @@ -3512,6 +3523,16 @@ Index: gcc/testsuite/gcc.c-torture/execute/20050316-3.x @@ -0,0 +1,2 @@ +set additional_flags "-Wno-psabi" +return 0 +Index: gcc/testsuite/gcc.c-torture/compile/pr60655-1.c +=================================================================== +--- a/src/gcc/testsuite/gcc.c-torture/compile/pr60655-1.c (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr60655-1.c (.../branches/gcc-4_9-branch) +@@ -1,4 +1,4 @@ +-/* { dg-options "-fdata-sections" } */ ++/* { dg-options "-fdata-sections" { target { ! { { hppa*-*-hpux* } && { ! lp64 } } } } } */ + + typedef unsigned char unit; + typedef unit *unitptr; Index: gcc/testsuite/gnat.dg/pack20.adb =================================================================== --- a/src/gcc/testsuite/gnat.dg/pack20.adb (.../tags/gcc_4_9_1_release) @@ -3569,6 +3590,54 @@ Index: gcc/testsuite/gcc.dg/pr51879-18.c -/* { dg-final { scan-tree-dump-times "foo \\(" 1 "pre"} } */ +/* { dg-final { scan-tree-dump-times "foo \\(" 1 "pre" { xfail *-*-* } } } */ /* { dg-final { cleanup-tree-dump "pre" } } */ +Index: gcc/testsuite/gcc.dg/pr57233.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/pr57233.c (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/gcc.dg/pr57233.c (.../branches/gcc-4_9-branch) +@@ -1,6 +1,7 @@ + /* PR tree-optimization/57233 */ + /* { dg-do run { target { ilp32 || lp64 } } } */ + /* { dg-options "-O2" } */ ++/* { dg-additional-options "-fno-common" { target hppa*-*-hpux* } } */ + + typedef unsigned V4 __attribute__((vector_size(4 * sizeof (int)))); + typedef unsigned V8 __attribute__((vector_size(8 * sizeof (int)))); +Index: gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-4.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-4.c (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-4.c (.../branches/gcc-4_9-branch) +@@ -2,7 +2,7 @@ + operating properly when operations on the same variable are carried + out in two threads. */ + /* { dg-do run } */ +-/* { dg-options "-std=c11 -pedantic-errors -pthread -D_POSIX_C_SOURCE=200809L" } */ ++/* { dg-options "-std=c11 -pedantic-errors -pthread -U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=200809L" } */ + /* { dg-additional-options "-D_XOPEN_SOURCE=600" { target *-*-solaris2.1[0-9]* } } + /* { dg-require-effective-target pthread } */ + +Index: gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-5.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-5.c (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/gcc.dg/atomic/c11-atomic-exec-5.c (.../branches/gcc-4_9-branch) +@@ -3,7 +3,7 @@ + iterations of the compare-and-exchange loop are needed, exceptions + get properly cleared). */ + /* { dg-do run } */ +-/* { dg-options "-std=c11 -pedantic-errors -pthread -D_POSIX_C_SOURCE=200809L" } */ ++/* { dg-options "-std=c11 -pedantic-errors -pthread -U_POSIX_C_SOURCE -D_POSIX_C_SOURCE=200809L" } */ + /* { dg-additional-options "-D_XOPEN_SOURCE=600" { target *-*-solaris2.1[0-9]* } } + /* { dg-require-effective-target fenv_exceptions } */ + /* { dg-require-effective-target pthread } */ +Index: gcc/testsuite/gcc.dg/atomic/stdatomic-flag.c +=================================================================== +--- a/src/gcc/testsuite/gcc.dg/atomic/stdatomic-flag.c (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/gcc.dg/atomic/stdatomic-flag.c (.../branches/gcc-4_9-branch) +@@ -1,4 +1,5 @@ + /* Test atomic_flag routines for existence and execution. */ ++/* The test needs a lockless atomic implementation. */ + /* { dg-do run { xfail hppa*-*-hpux* } } */ + /* { dg-options "-std=c11 -pedantic-errors" } */ + Index: gcc/testsuite/gcc.dg/torture/pr61964.c =================================================================== --- a/src/gcc/testsuite/gcc.dg/torture/pr61964.c (.../tags/gcc_4_9_1_release) @@ -3676,7 +3745,23 @@ Index: gcc/testsuite/ChangeLog =================================================================== --- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_4_9_1_release) +++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-4_9-branch) -@@ -1,3 +1,161 @@ +@@ -1,3 +1,177 @@ ++2014-08-07 John David Anglin <danglin@gcc.gnu.org> ++ ++ PR tree-optimization/60707 ++ * gfortran.dg/pr45636.f90: xfail on 32-bit hppa*-*-*. ++ ++ * gcc.dg/atomic/c11-atomic-exec-4.c: Undefine _POSIX_C_SOURCE before ++ defining in dg-options. ++ * gcc.dg/atomic/c11-atomic-exec-5.c: Likewise. ++ ++ * gcc.dg/atomic/stdatomic-flag.c: Add xfail comment. ++ ++ * gcc.c-torture/compile/pr60655-1.c: Don't add -fdata-sections option ++ on 32-bit hppa-hpux. ++ ++ * gcc.dg/pr57233.c: Add -fno-common option on hppa*-*-hpux*. ++ +2014-08-07 Petr Murzin <petr.murzin@intel.com> + + * gcc.target/i386/avx512f-vfixupimmpd-2.c: Include float.h instead of @@ -3838,7 +3923,7 @@ Index: gcc/testsuite/ChangeLog 2014-07-16 Release Manager * GCC 4.9.1 released. -@@ -17,7 +175,8 @@ +@@ -17,7 +191,8 @@ 2014-06-09 Alan Lawrence <alan.lawrence@arm.com> PR target/61062 @@ -3848,7 +3933,7 @@ Index: gcc/testsuite/ChangeLog 2014-07-08 Jakub Jelinek <jakub@redhat.com> -@@ -34,8 +193,8 @@ +@@ -34,8 +209,8 @@ 2014-07-08 Alan Lawrence <alan.lawrence@arm.com> @@ -3859,6 +3944,36 @@ Index: gcc/testsuite/ChangeLog PR target/59843 * gcc.dg/vect/vect-singleton_1.c: New file. +Index: gcc/testsuite/g++.dg/ext/restrict2.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/ext/restrict2.C (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/g++.dg/ext/restrict2.C (.../branches/gcc-4_9-branch) +@@ -0,0 +1,8 @@ ++// PR c++/60872 ++// { dg-options "" } ++ ++typedef double *__restrict T; ++void f(T* p) ++{ ++ void *p2 = p; ++} +Index: gcc/testsuite/g++.dg/expr/cond12.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/expr/cond12.C (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/g++.dg/expr/cond12.C (.../branches/gcc-4_9-branch) +@@ -0,0 +1,12 @@ ++// PR c++/58714 ++// { dg-do run } ++ ++struct X { ++ X& operator=(const X&){} ++ X& operator=(X&){__builtin_abort();} ++}; ++ ++int main(int argv,char**) { ++ X a, b; ++ ((argv > 2) ? a : b) = X(); ++} Index: gcc/testsuite/g++.dg/compat/struct-layout-1.exp =================================================================== --- a/src/gcc/testsuite/g++.dg/compat/struct-layout-1.exp (.../tags/gcc_4_9_1_release) @@ -3873,6 +3988,75 @@ Index: gcc/testsuite/g++.dg/compat/struct-layout-1.exp g++_init # Save variables for the C++ compiler under test, which each test will +Index: gcc/testsuite/g++.dg/cpp0x/constexpr-empty7.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-empty7.C (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-empty7.C (.../branches/gcc-4_9-branch) +@@ -0,0 +1,28 @@ ++// PR c++/61959 ++// { dg-do compile { target c++11 } } ++ ++template <class Coord> struct BasePoint ++{ ++ Coord x, y; ++ constexpr BasePoint (Coord, Coord) : x (0), y (0) {} ++}; ++template <class T> struct BaseCoord ++{ ++ int value; ++ constexpr BaseCoord (T) : value (1) {} ++}; ++template <class units> struct IntCoordTyped : BaseCoord<int>, units ++{ ++ typedef BaseCoord Super; ++ constexpr IntCoordTyped (int) : Super (0) {} ++}; ++template <class units> ++struct IntPointTyped : BasePoint<IntCoordTyped<units> >, units ++{ ++ typedef BasePoint<IntCoordTyped<units> > Super; ++ constexpr IntPointTyped (int, int) : Super (0, 0) {} ++}; ++struct A ++{ ++}; ++IntPointTyped<A> a (0, 0); +Index: gcc/testsuite/g++.dg/cpp0x/rv-cond1.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/rv-cond1.C (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/rv-cond1.C (.../branches/gcc-4_9-branch) +@@ -0,0 +1,13 @@ ++// PR c++/58714 ++// { dg-do compile { target c++11 } } ++ ++struct X { ++ X& operator=(const X&) = delete; ++ X& operator=(X&& ) = default; ++}; ++ ++void f(bool t) { ++ X a, b; ++ *(t ? &a : &b) = X(); ++ (t ? a : b) = X(); ++} +Index: gcc/testsuite/g++.dg/cpp0x/constexpr-array7.C +=================================================================== +--- a/src/gcc/testsuite/g++.dg/cpp0x/constexpr-array7.C (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/testsuite/g++.dg/cpp0x/constexpr-array7.C (.../branches/gcc-4_9-branch) +@@ -0,0 +1,13 @@ ++// PR c++/61994 ++// { dg-do compile { target c++11 } } ++ ++struct A { int i,j; }; ++ ++struct X { ++ A a = {1,1}; ++}; ++ ++constexpr X table[1][1] = {{ {} }}; ++ ++#define SA(X) static_assert(X,#X) ++SA(table[0][0].a.i == 1); Index: gcc/testsuite/g++.dg/ipa/pr61160-1.C =================================================================== --- a/src/gcc/testsuite/g++.dg/ipa/pr61160-1.C (.../tags/gcc_4_9_1_release) @@ -3970,11 +4154,72 @@ Index: gcc/testsuite/c-c++-common/cilk-plus/AN/pr61455.c + int a[2]; + int b = a[:]; /* { dg-error "cannot be scalar" } */ +} +Index: gcc/cp/init.c +=================================================================== +--- a/src/gcc/cp/init.c (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/cp/init.c (.../branches/gcc-4_9-branch) +@@ -3846,6 +3846,13 @@ + + stmt_expr = finish_init_stmts (is_global, stmt_expr, compound_stmt); + ++ current_stmt_tree ()->stmts_are_full_exprs_p = destroy_temps; ++ ++ if (errors) ++ return error_mark_node; ++ if (const_init) ++ return build2 (INIT_EXPR, atype, obase, const_init); ++ + /* Now make the result have the correct type. */ + if (TREE_CODE (atype) == ARRAY_TYPE) + { +@@ -3855,12 +3862,6 @@ + TREE_NO_WARNING (stmt_expr) = 1; + } + +- current_stmt_tree ()->stmts_are_full_exprs_p = destroy_temps; +- +- if (const_init) +- return build2 (INIT_EXPR, atype, obase, const_init); +- if (errors) +- return error_mark_node; + return stmt_expr; + } + +Index: gcc/cp/tree.c +=================================================================== +--- a/src/gcc/cp/tree.c (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/cp/tree.c (.../branches/gcc-4_9-branch) +@@ -3795,6 +3795,10 @@ + { + init_expr = get_target_expr (exp); + exp = TARGET_EXPR_SLOT (init_expr); ++ if (CLASS_TYPE_P (TREE_TYPE (exp))) ++ exp = move (exp); ++ else ++ exp = rvalue (exp); + } + else + { Index: gcc/cp/ChangeLog =================================================================== --- a/src/gcc/cp/ChangeLog (.../tags/gcc_4_9_1_release) +++ b/src/gcc/cp/ChangeLog (.../branches/gcc-4_9-branch) -@@ -1,3 +1,19 @@ +@@ -1,3 +1,34 @@ ++2014-08-07 Jason Merrill <jason@redhat.com> ++ ++ PR c++/61959 ++ * semantics.c (cxx_eval_bare_aggregate): Handle POINTER_PLUS_EXPR. ++ ++ PR c++/61994 ++ * init.c (build_vec_init): Leave atype an ARRAY_TYPE ++ if we're just returning an INIT_EXPR. ++ ++ PR c++/60872 ++ * call.c (standard_conversion): Don't try to apply restrict to void. ++ ++ PR c++/58714 ++ * tree.c (stabilize_expr): A stabilized prvalue is an xvalue. ++ +2014-08-01 Igor Zamyatin <igor.zamyatin@intel.com> + + * cp-array-notation.c (expand_an_in_modify_expr): Fix the misprint @@ -4053,6 +4298,21 @@ Index: gcc/cp/cp-array-notation.c case STATEMENT_LIST: { tree_stmt_iterator i; +Index: gcc/cp/semantics.c +=================================================================== +--- a/src/gcc/cp/semantics.c (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/cp/semantics.c (.../branches/gcc-4_9-branch) +@@ -8955,7 +8955,9 @@ + constructor_elt *inner = base_field_constructor_elt (n, ce->index); + inner->value = elt; + } +- else if (ce->index && TREE_CODE (ce->index) == NOP_EXPR) ++ else if (ce->index ++ && (TREE_CODE (ce->index) == NOP_EXPR ++ || TREE_CODE (ce->index) == POINTER_PLUS_EXPR)) + { + /* This is an initializer for an empty base; now that we've + checked that it's constant, we can ignore it. */ Index: gcc/cp/parser.c =================================================================== --- a/src/gcc/cp/parser.c (.../tags/gcc_4_9_1_release) @@ -4066,6 +4326,23 @@ Index: gcc/cp/parser.c { if (cp_lexer_peek_token (parser->lexer)->type == CPP_CLOSE_SQUARE) cp_lexer_consume_token (parser->lexer); +Index: gcc/cp/call.c +=================================================================== +--- a/src/gcc/cp/call.c (.../tags/gcc_4_9_1_release) ++++ b/src/gcc/cp/call.c (.../branches/gcc-4_9-branch) +@@ -1208,9 +1208,10 @@ + && TREE_CODE (TREE_TYPE (from)) != FUNCTION_TYPE) + { + tree nfrom = TREE_TYPE (from); ++ /* Don't try to apply restrict to void. */ ++ int quals = cp_type_quals (nfrom) & ~TYPE_QUAL_RESTRICT; + from = build_pointer_type +- (cp_build_qualified_type (void_type_node, +- cp_type_quals (nfrom))); ++ (cp_build_qualified_type (void_type_node, quals)); + conv = build_conv (ck_ptr, from, conv); + } + else if (TYPE_PTRDATAMEM_P (from)) Index: gcc/haifa-sched.c =================================================================== --- a/src/gcc/haifa-sched.c (.../tags/gcc_4_9_1_release) |