[gcc-6] 237/401: * Update to SVN 20161019 (r241346, 6.2.1) from the gcc-6-branch.
Ximin Luo
infinity0 at debian.org
Wed Apr 5 15:49:46 UTC 2017
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch pu/reproducible_builds
in repository gcc-6.
commit b874e3cb52d48fce580858f51d77bf84ed0c13e7
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date: Wed Oct 19 16:37:41 2016 +0000
* Update to SVN 20161019 (r241346, 6.2.1) from the gcc-6-branch.
git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-6@9012 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
debian/changelog | 2 +
debian/patches/svn-updates.diff | 283 +++++++++++++++++++++++++++++++++++++---
2 files changed, 264 insertions(+), 21 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 62b8683..813c1a2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,7 @@
gcc-6 (6.2.0-8) UNRELEASED; urgency=medium
+ * Update to SVN 20161019 (r241346, 6.2.1) from the gcc-6-branch.
+ - Fix PR libstdc++/77990, PR target/77991 (x86).
* Install arm_fp16.h header on arm* architectures for Linaro builds.
* Backport upstream revisions from trunk (James Clark). Closes: #840574.
- r240457 (add getrandom for MIPS/SPARC)
diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff
index 8da507b..65d2f01 100644
--- a/debian/patches/svn-updates.diff
+++ b/debian/patches/svn-updates.diff
@@ -1,10 +1,10 @@
-# DP: updates from the 6 branch upto 20161018 (r241301).
+# DP: updates from the 6 branch upto 20161019 (r241346).
last_update()
{
cat > ${dir}LAST_UPDATED <EOF
-Tue Oct 18 13:52:43 CEST 2016
-Tue Oct 18 11:52:43 UTC 2016 (revision 241301)
+Wed Oct 19 17:55:55 CEST 2016
+Wed Oct 19 15:55:55 UTC 2016 (revision 241346)
EOF
}
@@ -1724,7 +1724,23 @@ Index: libstdc++-v3/include/bits/unique_ptr.h
===================================================================
--- a/src/libstdc++-v3/include/bits/unique_ptr.h (.../tags/gcc_6_2_0_release)
+++ b/src/libstdc++-v3/include/bits/unique_ptr.h (.../branches/gcc-6-branch)
-@@ -610,10 +610,11 @@
+@@ -168,9 +168,12 @@
+ */
+ explicit
+ unique_ptr(pointer __p) noexcept
+- : _M_t(__p, deleter_type())
+- { static_assert(!is_pointer<deleter_type>::value,
+- "constructed with null function pointer deleter"); }
++ : _M_t()
++ {
++ std::get<0>(_M_t) = __p;
++ static_assert(!is_pointer<deleter_type>::value,
++ "constructed with null function pointer deleter");
++ }
+
+ /** Takes ownership of a pointer.
+ *
+@@ -610,10 +613,11 @@
void
reset(_Up __p) noexcept
{
@@ -2370,7 +2386,22 @@ Index: libstdc++-v3/ChangeLog
===================================================================
--- a/src/libstdc++-v3/ChangeLog (.../tags/gcc_6_2_0_release)
+++ b/src/libstdc++-v3/ChangeLog (.../branches/gcc-6-branch)
-@@ -1,3 +1,326 @@
+@@ -1,3 +1,341 @@
++2016-10-19 Jonathan Wakely <jwakely at redhat.com>
++
++ * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Move negative tests
++ to new file.
++ * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: New file. Fix
++ test for incompatible deleters to not also use incompatible types.
++ Add tests for incompatible array types.
++
++ PR libstdc++/77990
++ * include/bits/unique_ptr.h (unique_ptr::unique_ptr(pointer)): Set
++ pointer member after value-initialization of tuple.
++ * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust dg-errors.
++ * testsuite/20_util/unique_ptr/cons/77990.cc: New test.
++ * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Adjust dg-error.
++
+2016-10-17 Jonathan Wakely <jwakely at redhat.com>
+
+ PR libstdc++/77987
@@ -3556,6 +3587,152 @@ Index: libstdc++-v3/testsuite/20_util/unique_ptr/modifiers/cv_qual.cc
- cvA3.reset(p); // { dg-error "no matching function" }
- // { dg-error "no matching function" "" { target *-*-* } 614 }
}
+Index: libstdc++-v3/testsuite/20_util/unique_ptr/cons/77990.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/20_util/unique_ptr/cons/77990.cc (.../tags/gcc_6_2_0_release)
++++ b/src/libstdc++-v3/testsuite/20_util/unique_ptr/cons/77990.cc (.../branches/gcc-6-branch)
+@@ -0,0 +1,28 @@
++// Copyright (C) 2016 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3. If not see
++// <http://www.gnu.org/licenses/>.
++
++// { dg-options "-std=gnu++11" }
++// { dg-do compile }
++
++#include <memory>
++
++struct D {
++ D() = default;
++ D(const D&) = delete;
++ void operator()(int*);
++};
++std::unique_ptr<int, D> p((int*)nullptr); // PR libstdc++/77990
+Index: libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc (.../tags/gcc_6_2_0_release)
++++ b/src/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc (.../branches/gcc-6-branch)
+@@ -0,0 +1,73 @@
++// { dg-options "-std=gnu++11" }
++// { dg-do compile }
++
++// Copyright (C) 2016 Free Software Foundation, Inc.
++//
++// This file is part of the GNU ISO C++ Library. This library is free
++// software; you can redistribute it and/or modify it under the
++// terms of the GNU General Public License as published by the
++// Free Software Foundation; either version 3, or (at your option)
++// any later version.
++
++// This library is distributed in the hope that it will be useful,
++// but WITHOUT ANY WARRANTY; without even the implied warranty of
++// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++// GNU General Public License for more details.
++
++// You should have received a copy of the GNU General Public License along
++// with this library; see the file COPYING3. If not see
++// <http://www.gnu.org/licenses/>.
++
++// 20.7.1 Class template unique_ptr [unique.ptr]
++
++#include <memory>
++
++struct A { virtual ~A() = default; };
++
++struct B : A { };
++
++// Construction from objects with different cv-qualification
++
++struct A_pointer { operator A*() const { return nullptr; } };
++
++void
++test07()
++{
++ A_pointer p;
++ // Disallow conversions from user-defined pointer-like types
++ // for the array version
++ std::unique_ptr<A[]> upA3(p); // { dg-error "no matching function" }
++ std::unique_ptr<const A[]> cA3(p); // { dg-error "no matching function" }
++ std::unique_ptr<volatile A[]> vA3(p); // { dg-error "no matching function" }
++ std::unique_ptr<const volatile A[]> cvA3(p); // { dg-error "no matching function" }
++ // { dg-error "no type" "" { target *-*-* } 448 }
++}
++
++template<typename T>
++struct deleter
++{
++ deleter() = default;
++ template<typename U>
++ deleter(const deleter<U>) { }
++ typedef T pointer;
++ void operator()(T) const { }
++};
++
++void
++test08()
++{
++ // Disallow conversions from non-assignable deleter
++ std::unique_ptr<A[], deleter<A_pointer>> p;
++ std::unique_ptr<A[], deleter<A*>> upA(std::move(p)); // { dg-error "no matching function" }
++}
++
++void
++test011()
++{
++ // Disallow conversions between different array types.
++ std::unique_ptr<B[]> upB;
++
++ std::unique_ptr<const A[]> cA(std::move(upB)); // { dg-error "no matching function" }
++ std::unique_ptr<volatile A[]> vA(std::move(upB)); // { dg-error "no matching function" }
++ std::unique_ptr<const volatile A[]> cvA(std::move(upB)); // { dg-error "no matching function" }
++}
+Index: libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual.cc (.../tags/gcc_6_2_0_release)
++++ b/src/libstdc++-v3/testsuite/20_util/unique_ptr/cons/cv_qual.cc (.../branches/gcc-6-branch)
+@@ -100,30 +100,4 @@
+ std::unique_ptr<const A[]> cA2((A*)p);
+ std::unique_ptr<volatile A[]> vA2((A*)p);
+ std::unique_ptr<const volatile A[]> cvA2((A*)p);
+- // Disallow conversions from user-defined pointer-like types
+- // for the array version
+- std::unique_ptr<A[]> upA3(p); // { dg-error "no matching function" }
+- std::unique_ptr<const A[]> cA3(p); // { dg-error "no matching function" }
+- std::unique_ptr<volatile A[]> vA3(p); // { dg-error "no matching function" }
+- std::unique_ptr<const volatile A[]> cvA3(p); // { dg-error "no matching function" }
+- // { dg-error "no type" "" { target *-*-* } 445 }
+ }
+-
+-template<typename T>
+-struct deleter
+-{
+- deleter() = default;
+- template<typename U>
+- deleter(const deleter<U>) { }
+- typedef T pointer;
+- void operator()(T) const { }
+-};
+-
+-void
+-test08()
+-{
+- // Disallow conversions from non-assignable deleter
+- std::unique_ptr<B[], deleter<A_pointer>> p;
+- std::unique_ptr<A[], deleter<A*>> upA(std::move(p)); // { dg-error "no matching function" }
+-}
+-
Index: libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc
===================================================================
--- a/src/libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc (.../tags/gcc_6_2_0_release)
@@ -3586,6 +3763,23 @@ Index: libstdc++-v3/testsuite/20_util/unique_ptr/assign/assign_neg.cc
+}
+
// { dg-prune-output "include" }
+Index: libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc
+===================================================================
+--- a/src/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc (.../tags/gcc_6_2_0_release)
++++ b/src/libstdc++-v3/testsuite/20_util/unique_ptr/assign/48635_neg.cc (.../branches/gcc-6-branch)
+@@ -43,10 +43,10 @@
+ std::unique_ptr<int, D&> ud(nullptr, d);
+ ub = std::move(ud); // { dg-error "no match" }
+ ub2 = ud; // { dg-error "no match" }
+-// { dg-error "no type" "" { target *-*-* } 269 }
++// { dg-error "no type" "" { target *-*-* } 272 }
+
+ std::unique_ptr<int[], B&> uba(nullptr, b);
+ std::unique_ptr<int[], D&> uda(nullptr, d);
+ uba = std::move(uda); // { dg-error "no match" }
+-// { dg-error "no type" "" { target *-*-* } 537 }
++// { dg-error "no type" "" { target *-*-* } 540 }
+ }
Index: libstdc++-v3/testsuite/20_util/unique_ptr/assign/cv_qual.cc
===================================================================
--- a/src/libstdc++-v3/testsuite/20_util/unique_ptr/assign/cv_qual.cc (.../tags/gcc_6_2_0_release)
@@ -4195,7 +4389,7 @@ Index: gcc/DATESTAMP
+++ b/src/gcc/DATESTAMP (.../branches/gcc-6-branch)
@@ -1 +1 @@
-20160822
-+20161018
++20161019
Index: gcc/tree.c
===================================================================
--- a/src/gcc/tree.c (.../tags/gcc_6_2_0_release)
@@ -4409,7 +4603,14 @@ Index: gcc/ChangeLog
===================================================================
--- a/src/gcc/ChangeLog (.../tags/gcc_6_2_0_release)
+++ b/src/gcc/ChangeLog (.../branches/gcc-6-branch)
-@@ -1,3 +1,540 @@
+@@ -1,3 +1,547 @@
++2016-10-19 Uros Bizjak <ubizjak at gmail.com>
++
++ PR target/77991
++ * config/i386/i386.c (legitimize_tls_address)
++ <case TLS_MODEL_INITIAL_EXEC>: For TARGET_64BIT || TARGET_ANY_GNU_TLS
++ convert dest to Pmode if different than Pmode.
++
+2016-10-18 Kugan Vivekanandarajah <kuganv at linaro.org>
+
+ Backport from mainline
@@ -4950,7 +5151,7 @@ Index: gcc/ChangeLog
2016-08-22 Release Manager
* GCC 6.2.0 released.
-@@ -205,9 +746,9 @@
+@@ -205,9 +753,9 @@
2016-08-09 Martin Jambor <mjambor at suse.cz>
@@ -5438,6 +5639,30 @@ Index: gcc/testsuite/gcc.target/i386/pr77621.c
+}
+
+/* { dg-final { scan-tree-dump-not "Vectorized loops: 1" "vect" } } */
+Index: gcc/testsuite/gcc.target/i386/pr77991.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr77991.c (.../tags/gcc_6_2_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr77991.c (.../branches/gcc-6-branch)
+@@ -0,0 +1,19 @@
++/* { dg-do compile { target { ! ia32 } } } */
++/* { dg-require-effective-target maybe_x32 } */
++/* { dg-options "-O2 -mx32 -maddress-mode=short" } */
++
++struct rcu_reader_data
++{
++ unsigned ctr;
++ _Bool waiting;
++}
++
++extern __thread rcu_reader;
++
++void rcu_read_lock()
++{
++ struct rcu_reader_data *x = &rcu_reader;
++ _Bool val = 0;
++
++ __atomic_store(&x->waiting, &val, 0);
++}
Index: gcc/testsuite/gcc.target/i386/sse-12.c
===================================================================
--- a/src/gcc/testsuite/gcc.target/i386/sse-12.c (.../tags/gcc_6_2_0_release)
@@ -7666,7 +7891,12 @@ Index: gcc/testsuite/ChangeLog
===================================================================
--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_6_2_0_release)
+++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-6-branch)
-@@ -1,3 +1,527 @@
+@@ -1,3 +1,532 @@
++2016-10-19 Uros Bizjak <ubizjak at gmail.com>
++
++ PR target/77991
++ * gcc.target/i386/pr77991.c: New test.
++
+2016-10-17 Steven G. Kargl <kargl at gcc.gnu.org>
+
+ Backported from trunk
@@ -8194,7 +8424,7 @@ Index: gcc/testsuite/ChangeLog
2016-08-22 Release Manager
* GCC 6.2.0 released.
-@@ -150,8 +674,8 @@
+@@ -150,8 +679,8 @@
2016-08-09 Martin Jambor <mjambor at suse.cz>
@@ -8205,7 +8435,7 @@ Index: gcc/testsuite/ChangeLog
2016-08-09 Richard Biener <rguenther at suse.de>
-@@ -276,8 +800,8 @@
+@@ -276,8 +805,8 @@
2016-07-20 Martin Jambor <mjambor at suse.cz>
@@ -8216,7 +8446,7 @@ Index: gcc/testsuite/ChangeLog
2016-07-19 Jakub Jelinek <jakub at redhat.com>
-@@ -418,7 +942,7 @@
+@@ -418,7 +947,7 @@
2016-07-06 Yuri Rumyantsev <ysrumyan at gmail.com>
PR tree-optimization/71518
@@ -579319,7 +579549,18 @@ Index: gcc/config/i386/i386.c
}
else
{
-@@ -22671,7 +22684,7 @@
+@@ -15494,7 +15507,9 @@
+ base = get_thread_pointer (tp_mode,
+ for_mov || !TARGET_TLS_DIRECT_SEG_REFS);
+ off = force_reg (tp_mode, off);
+- return gen_rtx_PLUS (tp_mode, base, off);
++ dest = gen_rtx_PLUS (tp_mode, base, off);
++ if (tp_mode != Pmode)
++ dest = convert_to_mode (Pmode, dest, 1);
+ }
+ else
+ {
+@@ -22671,7 +22686,7 @@
/* We want to check HONOR_NANS and HONOR_SIGNED_ZEROS here,
but MODE may be a vector mode and thus not appropriate. */
@@ -579328,7 +579569,7 @@ Index: gcc/config/i386/i386.c
{
int u = is_min ? UNSPEC_IEEE_MIN : UNSPEC_IEEE_MAX;
rtvec v;
-@@ -32141,9 +32154,6 @@
+@@ -32141,9 +32156,6 @@
/* CLWB instructions. */
IX86_BUILTIN_CLWB,
@@ -579338,7 +579579,7 @@ Index: gcc/config/i386/i386.c
/* CLFLUSHOPT instructions. */
IX86_BUILTIN_CLFLUSHOPT,
-@@ -32947,9 +32957,6 @@
+@@ -32947,9 +32959,6 @@
{ OPTION_MASK_ISA_AVX512VL, CODE_FOR_avx512vl_us_truncatev8siv8hi2_mask_store, "__builtin_ia32_pmovusdw256mem_mask", IX86_BUILTIN_PMOVUSDW256_MEM, UNKNOWN, (int) VOID_FTYPE_PV8HI_V8SI_UQI },
{ OPTION_MASK_ISA_AVX512VL, CODE_FOR_avx512vl_us_truncatev4siv4hi2_mask_store, "__builtin_ia32_pmovusdw128mem_mask", IX86_BUILTIN_PMOVUSDW128_MEM, UNKNOWN, (int) VOID_FTYPE_PV8HI_V4SI_UQI },
@@ -579348,7 +579589,7 @@ Index: gcc/config/i386/i386.c
/* RDPKRU and WRPKRU. */
{ OPTION_MASK_ISA_PKU, CODE_FOR_rdpkru, "__builtin_ia32_rdpkru", IX86_BUILTIN_RDPKRU, UNKNOWN, (int) UNSIGNED_FTYPE_VOID },
{ OPTION_MASK_ISA_PKU, CODE_FOR_wrpkru, "__builtin_ia32_wrpkru", IX86_BUILTIN_WRPKRU, UNKNOWN, (int) VOID_FTYPE_UNSIGNED }
-@@ -40361,7 +40368,7 @@
+@@ -40361,7 +40370,7 @@
error ("%qE needs isa option %s", fndecl, opts);
free (opts);
}
@@ -579357,7 +579598,7 @@ Index: gcc/config/i386/i386.c
}
switch (fcode)
-@@ -48848,6 +48855,8 @@
+@@ -48848,6 +48857,8 @@
/* ms_abi and sysv_abi calling convention function attributes. */
{ "ms_abi", 0, 0, false, true, true, ix86_handle_abi_attribute, true },
{ "sysv_abi", 0, 0, false, true, true, ix86_handle_abi_attribute, true },
@@ -579366,7 +579607,7 @@ Index: gcc/config/i386/i386.c
{ "ms_hook_prologue", 0, 0, true, false, false, ix86_handle_fndecl_attribute,
false },
{ "callee_pop_aggregate_return", 1, 1, false, true, true,
-@@ -52690,8 +52699,6 @@
+@@ -52690,8 +52701,6 @@
static tree
ix86_canonical_va_list_type (tree type)
{
@@ -579375,7 +579616,7 @@ Index: gcc/config/i386/i386.c
/* Resolve references and pointers to va_list type. */
if (TREE_CODE (type) == MEM_REF)
type = TREE_TYPE (type);
-@@ -52700,64 +52707,25 @@
+@@ -52700,64 +52709,25 @@
else if (POINTER_TYPE_P (type) && TREE_CODE (TREE_TYPE (type)) == ARRAY_TYPE)
type = TREE_TYPE (type);
@@ -579454,7 +579695,7 @@ Index: gcc/config/i386/i386.c
return std_canonical_va_list_type (type);
}
-@@ -53662,9 +53630,7 @@
+@@ -53662,9 +53632,7 @@
return V4SFmode;
case DFmode:
@@ -579465,7 +579706,7 @@ Index: gcc/config/i386/i386.c
return V8DFmode;
else if (TARGET_AVX && !TARGET_PREFER_AVX128)
return V4DFmode;
-@@ -53749,9 +53715,14 @@
+@@ -53749,9 +53717,14 @@
tree vectype = stmt_info ? stmt_vectype (stmt_info) : NULL_TREE;
int stmt_cost = ix86_builtin_vectorization_cost (kind, vectype, misalign);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-6.git
More information about the Reproducible-commits
mailing list