summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-08-08 15:32:40 +0000
committerdoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-08-08 15:32:40 +0000
commita620601f16036f006a8dd21ad43052404565a1fd (patch)
tree888c00c3d92313a1c196b78a188ac4b9423c8b87
parent1bf573a334526491ec222f814d0972e4a2458548 (diff)
downloadgcc-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/changelog4
-rw-r--r--debian/patches/svn-updates.diff293
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)