[gcc-6] 142/401: * Update to SVN 20160511 (r236071, 6.1.1) from the gcc-6-branch.
Ximin Luo
infinity0 at debian.org
Wed Apr 5 15:48:29 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 dd19191037c1c27ff79a47a32331eb49b85b239b
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date: Thu May 12 00:31:58 2016 +0000
* Update to SVN 20160511 (r236071, 6.1.1) from the gcc-6-branch.
git-svn-id: svn://anonscm.debian.org/gcccvs/branches/sid/gcc-6@8844 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
debian/changelog | 7 +-
debian/patches/svn-updates.diff | 547 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 543 insertions(+), 11 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 016db52..ab9879b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,11 @@
-gcc-6 (6.1.1-3) UNRELEASED; urgency=medium
+gcc-6 (6.1.1-3) unstable; urgency=medium
+ * Update to SVN 20160511 (r236071, 6.1.1) from the gcc-6-branch.
+ - Fix PR libstdc++/71049, PR middle-end/70877, PR tree-optimization/70876,
+ PR target/70963, PR tree-optimization/70916, PR debug/70935.
* Enable gdc for sh4.
- -- Matthias Klose <doko at debian.org> Wed, 11 May 2016 00:11:45 +0200
+ -- Matthias Klose <doko at debian.org> Wed, 11 May 2016 22:35:33 +0200
gcc-6 (6.1.1-2) unstable; urgency=medium
diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff
index f53c224..d0f6b6a 100644
--- a/debian/patches/svn-updates.diff
+++ b/debian/patches/svn-updates.diff
@@ -1,10 +1,10 @@
-# DP: updates from the 6 branch upto 20160510 (r236071).
+# DP: updates from the 6 branch upto 20160511 (r236144).
last_update()
{
cat > ${dir}LAST_UPDATED <EOF
-Tue May 10 13:17:31 CEST 2016
-Tue May 10 11:17:31 UTC 2016 (revision 236071)
+Wed May 11 22:27:24 CEST 2016
+Wed May 11 20:27:24 UTC 2016 (revision 236144)
EOF
}
@@ -292,6 +292,77 @@ Index: libgomp/testsuite/libgomp.c/pr70680-2.c
+ f4 ();
+ return 0;
+}
+Index: libstdc++-v3/src/c++11/cow-stdexcept.cc
+===================================================================
+--- a/src/libstdc++-v3/src/c++11/cow-stdexcept.cc (.../tags/gcc_6_1_0_release)
++++ b/src/libstdc++-v3/src/c++11/cow-stdexcept.cc (.../branches/gcc-6-branch)
+@@ -292,6 +292,7 @@
+ return (const char*) txnal_read_ptr((void**)&bs->_M_dataplus._M_p);
+ }
+
++#if _GLIBCXX_USE_DUAL_ABI
+ const char*
+ _txnal_sso_string_c_str(const void* that)
+ {
+@@ -299,6 +300,7 @@
+ (void* const*)const_cast<char* const*>(
+ &((const std::__sso_string*) that)->_M_s._M_p));
+ }
++#endif
+
+ void
+ _txnal_cow_string_D1_commit(void* data)
+@@ -344,9 +346,24 @@
+ // result in undefined behavior, which is in this case not initializing this
+ // string.
+ #if _GLIBCXX_USE_DUAL_ABI
+-#define CTORDTORSTRINGCSTR(s) _txnal_sso_string_c_str((s))
++#define CTORS_FROM_SSOSTRING(NAME, CLASS, BASE) \
++void \
++_ZGTtNSt##NAME##C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE( \
++ CLASS* that, const std::__sso_string& s) \
++{ \
++ CLASS e(""); \
++ _ITM_memcpyRnWt(that, &e, sizeof(CLASS)); \
++ /* Get the C string from the SSO string. */ \
++ _txnal_cow_string_C1_for_exceptions(_txnal_##BASE##_get_msg(that), \
++ _txnal_sso_string_c_str(&s), that); \
++} \
++void \
++_ZGTtNSt##NAME##C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE( \
++ CLASS*, const std::__sso_string&) __attribute__((alias \
++("_ZGTtNSt" #NAME \
++ "C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE")));
+ #else
+-#define CTORDTORSTRINGCSTR(s) ""
++#define CTORS_FROM_SSOSTRING(NAME, CLASS, BASE)
+ #endif
+
+ // This macro defines transaction constructors and destructors for a specific
+@@ -373,22 +390,8 @@
+ void \
+ _ZGTtNSt##NAME##C2EPKc (CLASS*, const char*) \
+ __attribute__((alias ("_ZGTtNSt" #NAME "C1EPKc"))); \
++CTORS_FROM_SSOSTRING(NAME, CLASS, BASE) \
+ void \
+-_ZGTtNSt##NAME##C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE( \
+- CLASS* that, const std::__sso_string& s) \
+-{ \
+- CLASS e(""); \
+- _ITM_memcpyRnWt(that, &e, sizeof(CLASS)); \
+- /* Get the C string from the SSO string. */ \
+- _txnal_cow_string_C1_for_exceptions(_txnal_##BASE##_get_msg(that), \
+- CTORDTORSTRINGCSTR(&s), that); \
+-} \
+-void \
+-_ZGTtNSt##NAME##C2ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE( \
+- CLASS*, const std::__sso_string&) __attribute__((alias \
+-("_ZGTtNSt" #NAME \
+- "C1ERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE"))); \
+-void \
+ _ZGTtNSt##NAME##D1Ev(CLASS* that) \
+ { _txnal_cow_string_D1(_txnal_##BASE##_get_msg(that)); } \
+ void \
Index: libstdc++-v3/include/std/tuple
===================================================================
--- a/src/libstdc++-v3/include/std/tuple (.../tags/gcc_6_1_0_release)
@@ -351,7 +422,13 @@ Index: libstdc++-v3/ChangeLog
===================================================================
--- a/src/libstdc++-v3/ChangeLog (.../tags/gcc_6_1_0_release)
+++ b/src/libstdc++-v3/ChangeLog (.../branches/gcc-6-branch)
-@@ -1,3 +1,12 @@
+@@ -1,3 +1,18 @@
++2016-05-11 Jonathan Wakely <jwakely at redhat.com>
++
++ PR libstdc++/71049
++ * src/c++11/cow-stdexcept.cc [!_GLIBCXX_USE_DUAL_ABI]: Don't define
++ exception constructors with __sso_string parameters.
++
+2016-05-09 Ville Voutilainen <ville.voutilainen at gmail.com>
+
+ Avoid endless run-time recursion for copying single-element
@@ -562,6 +639,47 @@ Index: libjava/testsuite/lib/libjava.exp
foreach x {. .. ../.. ../../..} {
if {[file exists $d/$x/libtool]} then {
# We have to run silently to avoid DejaGNU lossage.
+Index: gcc/tree-chkp.c
+===================================================================
+--- a/src/gcc/tree-chkp.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/tree-chkp.c (.../branches/gcc-6-branch)
+@@ -1853,7 +1853,9 @@
+
+ /* If function decl is available then use it for
+ formal arguments list. Otherwise use function type. */
+- if (fndecl && DECL_ARGUMENTS (fndecl))
++ if (fndecl
++ && DECL_ARGUMENTS (fndecl)
++ && gimple_call_fntype (call) == TREE_TYPE (fndecl))
+ first_formal_arg = DECL_ARGUMENTS (fndecl);
+ else
+ {
+@@ -1929,7 +1931,16 @@
+ {
+ tree new_decl = chkp_maybe_create_clone (fndecl)->decl;
+ gimple_call_set_fndecl (new_call, new_decl);
+- gimple_call_set_fntype (new_call, TREE_TYPE (new_decl));
++ /* In case of a type cast we should modify used function
++ type instead of using type of new fndecl. */
++ if (gimple_call_fntype (call) != TREE_TYPE (fndecl))
++ {
++ tree type = gimple_call_fntype (call);
++ type = chkp_copy_function_type_adding_bounds (type);
++ gimple_call_set_fntype (new_call, type);
++ }
++ else
++ gimple_call_set_fntype (new_call, TREE_TYPE (new_decl));
+ }
+ /* For indirect call we should fix function pointer type if
+ pass some bounds. */
+@@ -3646,6 +3657,7 @@
+ break;
+
+ case ADDR_EXPR:
++ case WITH_SIZE_EXPR:
+ bounds = chkp_make_addressed_object_bounds (TREE_OPERAND (ptr_src, 0), iter);
+ break;
+
Index: gcc/c-family/ChangeLog
===================================================================
--- a/src/gcc/c-family/ChangeLog (.../tags/gcc_6_1_0_release)
@@ -631,6 +749,23 @@ Index: gcc/c-family/c-common.h
extern void c_omp_split_clauses (location_t, enum tree_code, omp_clause_mask,
tree, tree *);
extern tree c_omp_declare_simd_clauses_to_numbers (tree, tree);
+Index: gcc/tree-ssa-loop-unswitch.c
+===================================================================
+--- a/src/gcc/tree-ssa-loop-unswitch.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/tree-ssa-loop-unswitch.c (.../branches/gcc-6-branch)
+@@ -532,6 +532,12 @@
+ guard_edge->src->index, guard_edge->dest->index);
+ return NULL;
+ }
++ if (guard_edge->dest == loop->latch)
++ {
++ if (dump_file && (dump_flags & TDF_DETAILS))
++ fprintf (dump_file, "Guard edge destination is loop latch.\n");
++ return NULL;
++ }
+
+ if (dump_file && (dump_flags & TDF_DETAILS))
+ fprintf (dump_file,
Index: gcc/java/decl.c
===================================================================
--- a/src/gcc/java/decl.c (.../tags/gcc_6_1_0_release)
@@ -742,7 +877,7 @@ Index: gcc/DATESTAMP
+++ b/src/gcc/DATESTAMP (.../branches/gcc-6-branch)
@@ -1 +1 @@
-20160427
-+20160510
++20160511
Index: gcc/fold-const.c
===================================================================
--- a/src/gcc/fold-const.c (.../tags/gcc_6_1_0_release)
@@ -761,7 +896,54 @@ Index: gcc/ChangeLog
===================================================================
--- a/src/gcc/ChangeLog (.../tags/gcc_6_1_0_release)
+++ b/src/gcc/ChangeLog (.../branches/gcc-6-branch)
-@@ -1,3 +1,149 @@
+@@ -1,3 +1,196 @@
++2016-05-11 Ilya Enkovich <ilya.enkovich at intel.com>
++
++ Backport from mainline r236088.
++ 2016-05-10 Ilya Enkovich <ilya.enkovich at intel.com>
++
++ PR middle-end/70877
++ * tree-chkp.c (chkp_add_bounds_to_call_stmt): Handle
++ calls with type casted fndecl.
++
++2016-05-11 Ilya Enkovich <ilya.enkovich at intel.com>
++
++ Backport from mainline r236086.
++ 2016-05-10 Ilya Enkovich <ilya.enkovich at intel.com>
++
++ PR tree-optimization/70876
++ * tree-chkp.c (chkp_find_bounds_1): Support WITH_SIZE_EXPR.
++ * gcc/calls.c (initialize_argument_information): Bind bounds
++ with corresponding args passed by reference.
++
++2016-05-10 Bill Schmidt <wschmidt at linux.vnet.ibm.com>
++
++ Backport from mainline
++ 2016-05-10 Bill Schmidt <wschmidt at linux.vnet.ibm.com>
++
++ PR target/70963
++ * config/rs6000/vsx.md (vsx_xvcvdpsxds_scale): Generate correct
++ code for a zero scale factor.
++ (vsx_xvcvdpuxds_scale): Likewise.
++
++2016-05-10 Jakub Jelinek <jakub at redhat.com>
++
++ Backported from mainline
++ 2016-05-03 Jakub Jelinek <jakub at redhat.com>
++
++ PR tree-optimization/70916
++ * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Give up
++ if COND_EXPR rhs1 is neither SSA_NAME nor COMPARISON_CLASS_P.
++
++2016-05-10 Yuri Rumyantsev <ysrumyan at gmail.com>
++
++ Backport from mainline r235962.
++ 2016-05-06 Yuri Rumyantsev <ysrumyan at gmail.com>
++
++ PR debug/70935
++ * tree-ssa-loop-unswitch.c (find_loop_guard): Reject guard edge with
++ loop latch destination.
++
+2016-05-10 Andreas Krebbel <krebbel at linux.vnet.ibm.com>
+
+ Backport from mainline
@@ -911,7 +1093,7 @@ Index: gcc/ChangeLog
2016-04-27 Release Manager
* GCC 6.1.0 released.
-@@ -49,7 +195,7 @@
+@@ -49,7 +242,7 @@
constant boolean.
2016-04-20 Andrew Pinski <apinski at cavium.com>
@@ -920,6 +1102,54 @@ Index: gcc/ChangeLog
PR target/64971
* config/aarch64/aarch64.md (sibcall): Force call
+Index: gcc/testsuite/gcc.target/powerpc/pr70963.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/powerpc/pr70963.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/testsuite/gcc.target/powerpc/pr70963.c (.../branches/gcc-6-branch)
+@@ -0,0 +1,43 @@
++/* { dg-do run { target { powerpc64*-*-* && vsx_hw } } } */
++/* { dg-require-effective-target powerpc_vsx_ok } */
++/* { dg-skip-if "" { powerpc*-*-darwin* } { "*" } { "" } } */
++/* { dg-options "-maltivec" } */
++
++#include <stdlib.h>
++#include <stdio.h>
++#include <altivec.h>
++
++static int failed;
++static void test (void);
++
++static void check (int result, const char *name)
++{
++ if (!result)
++ {
++ failed++;
++ printf ("fail %s\n", name);
++ }
++}
++
++int main (void)
++{
++ test ();
++ if (failed)
++ abort ();
++ return 0;
++}
++
++vector double x = { 81.0, 76.0 };
++vector long long y = { 81, 76 };
++
++static void test()
++{
++ vector long long a = vec_cts (x, 0);
++ vector double b = vec_ctf (a, 0);
++ vector long long c = __builtin_vsx_xvcvdpuxds_scale (x, 0);
++ vector double d = vec_ctf (c, 0);
++ check (vec_all_eq (a, y), "vec_cts");
++ check (vec_all_eq (b, x), "vec_ctf");
++ check (vec_all_eq (c, y), "xvcvdpuxds");
++ check (vec_all_eq (d, x), "vec_ctf unsigned");
++}
Index: gcc/testsuite/gcc.target/i386/pr70858.c
===================================================================
--- a/src/gcc/testsuite/gcc.target/i386/pr70858.c (.../tags/gcc_6_1_0_release)
@@ -1037,6 +1267,24 @@ Index: gcc/testsuite/gcc.target/i386/pr70750-2.c
+
+/* { dg-final { scan-assembler "call\[ \t\].*\\(%rdi\\)" { target { lp64 } } } } */
+/* { dg-final { scan-assembler "call\[ \t\]\\*%rax" { target { x32 } } } } */
+Index: gcc/testsuite/gcc.target/i386/pr70876.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr70876.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr70876.c (.../branches/gcc-6-branch)
+@@ -0,0 +1,13 @@
++/* { dg-do compile { target { ! x32 } } } */
++/* { dg-options "-fcheck-pointer-bounds -mmpx -Wno-implicit-function-declaration" } */
++
++void f (char *s1, char *s2)
++{
++ int z = 5;
++
++ struct { char a[z]; } x;
++
++ s1[0] = s2[0];
++
++ foo (x, x);
++}
Index: gcc/testsuite/gcc.target/i386/fabsneg-1.c
===================================================================
--- a/src/gcc/testsuite/gcc.target/i386/fabsneg-1.c (.../tags/gcc_6_1_0_release)
@@ -1078,6 +1326,48 @@ Index: gcc/testsuite/gcc.target/i386/fabsneg-1.c
+
+ return 0;
+}
+Index: gcc/testsuite/gcc.target/i386/pr70877.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.target/i386/pr70877.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/testsuite/gcc.target/i386/pr70877.c (.../branches/gcc-6-branch)
+@@ -0,0 +1,14 @@
++/* { dg-do compile { target { ! x32 } } } */
++/* { dg-options "-fcheck-pointer-bounds -mmpx" } */
++
++int foo(int);
++
++typedef struct {
++ double d;
++ int a;
++} str_t;
++
++void bar(double d, int i, str_t s)
++{
++ d = ((double (*) (int)) foo) (i); /* { dg-warning "function called through a non-compatible type" } */
++}
+Index: gcc/testsuite/gfortran.dg/gomp/pr70855.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/gomp/pr70855.f90 (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/testsuite/gfortran.dg/gomp/pr70855.f90 (.../branches/gcc-6-branch)
+@@ -0,0 +1,18 @@
++! PR fortran/70855
++! { dg-do compile }
++! { dg-additional-options "-O2" }
++
++program pr70855
++ integer, parameter :: m = 4
++ integer, parameter :: n = 2
++ real :: a(m,n)
++ real :: x(n)
++ real :: y(m)
++ a = 1.0
++ x = 1.0
++!$omp parallel
++!$omp workshare
++ y(1:m) = matmul ( a(1:m,1:n), x(1:n) )
++!$omp end workshare
++!$omp end parallel
++end program pr70855
Index: gcc/testsuite/gfortran.dg/goacc/reduction-2.f95
===================================================================
--- a/src/gcc/testsuite/gfortran.dg/goacc/reduction-2.f95 (.../tags/gcc_6_1_0_release)
@@ -1110,6 +1400,39 @@ Index: gcc/testsuite/gfortran.dg/submodule_14.f08
end
-
+! { dg-final { cleanup-submodules "test at testson" } }
+Index: gcc/testsuite/gcc.c-torture/compile/pr70916.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.c-torture/compile/pr70916.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr70916.c (.../branches/gcc-6-branch)
+@@ -0,0 +1,28 @@
++/* PR tree-optimization/70916 */
++
++int a, b, c, d, i, k;
++int static *e = &b, *j;
++int **f;
++int static ***g = &f;
++int *h;
++void
++fn1 ()
++{
++ for (;;)
++ {
++ int l[1] = { };
++ int m = (__UINTPTR_TYPE__) l;
++ for (; d; d--)
++ {
++ int ****n;
++ int *****o = &n;
++ i = a & 7 ? : a;
++ *e = (((*o = &g) != (int ****) g) < h[c], 0) || k;
++ if (*e)
++ {
++ **n = &j;
++ *e = (__UINTPTR_TYPE__) h;
++ }
++ }
++ }
++}
Index: gcc/testsuite/gnat.dg/debug5.adb
===================================================================
--- a/src/gcc/testsuite/gnat.dg/debug5.adb (.../tags/gcc_6_1_0_release)
@@ -1173,11 +1496,100 @@ Index: gcc/testsuite/gcc.dg/graphite/pr70956.c
+/* { dg-options "-O2 -fgraphite-identity" } */
+
+#include "../tree-ssa/vrp66.c"
+Index: gcc/testsuite/gcc.dg/torture/pr70935.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/torture/pr70935.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/testsuite/gcc.dg/torture/pr70935.c (.../branches/gcc-6-branch)
+@@ -0,0 +1,39 @@
++/* { dg-do compile } */
++/* { dg-options "-O3 -g" } */
++
++int d0, sj, v0, rp, zi;
++
++void
++zn(void)
++{
++ if (v0 != 0)
++ {
++ int *js, *r3;
++ int pm, gc;
++
++ for (gc = 0; gc < 1; ++gc)
++ {
++ sj = 1;
++ while (sj != 0)
++ ;
++ }
++ r3 = ±
++ *js = (long)&gc;
++ka:
++ for (d0 = 0; d0 < 2; ++d0)
++ {
++ d0 = zi;
++ if (zi)
++ for (pm = 2; pm != 0; --pm)
++ ;
++ }
++ while (*r3 != 0)
++ {
++ while (pm)
++ ;
++ ++r3;
++ }
++ }
++ rp = 0;
++ goto ka;
++}
Index: gcc/testsuite/ChangeLog
===================================================================
--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_6_1_0_release)
+++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-6-branch)
-@@ -1,3 +1,78 @@
+@@ -1,3 +1,123 @@
++2016-05-11 Jakub Jelinek <jakub at redhat.com>
++
++ PR fortran/70855
++ * gfortran.dg/gomp/pr70855.f90: New test.
++
++2016-05-11 Ilya Enkovich <ilya.enkovich at intel.com>
++
++ Backport from mainline r236088.
++ 2016-05-10 Ilya Enkovich <ilya.enkovich at intel.com>
++
++ PR middle-end/70877
++ * gcc.target/i386/pr70877.c: New test.
++
++2016-05-11 Ilya Enkovich <ilya.enkovich at intel.com>
++
++ Backport from mainline r236086.
++ 2016-05-10 Ilya Enkovich <ilya.enkovich at intel.com>
++
++ PR tree-optimization/70876
++ * gcc.target/i386/pr70876.c: New test.
++
++2016-05-10 Bill Schmidt <wschmidt at linux.vnet.ibm.com>
++
++ Backport from mainline
++ 2016-05-10 Bill Schmidt <wschmidt at linux.vnet.ibm.com>
++
++ PR target/70963
++ * gcc.target/powerpc/pr70963.c: New.
++
++2016-05-10 Jakub Jelinek <jakub at redhat.com>
++
++ Backported from mainline
++ 2016-05-03 Jakub Jelinek <jakub at redhat.com>
++
++ PR tree-optimization/70916
++ * gcc.c-torture/compile/pr70916.c: New test.
++
++2016-05-10 Yuri Rumyantsev <ysrumyan at gmail.com>
++
++ Backport from mainline r235962.
++ 2016-05-06 Yuri Rumyantsev <ysrumyan at gmail.com>
++
++ PR debug/70935
++ * gcc.dg/torture/pr70935.c: New test.
++
+2016-05-09 Uros Bizjak <ubizjak at gmail.com>
+
+ * gcc.target/i386/fabsneg-1.c New test.
@@ -1776,7 +2188,12 @@ Index: gcc/fortran/ChangeLog
===================================================================
--- a/src/gcc/fortran/ChangeLog (.../tags/gcc_6_1_0_release)
+++ b/src/gcc/fortran/ChangeLog (.../branches/gcc-6-branch)
-@@ -1,3 +1,9 @@
+@@ -1,3 +1,14 @@
++2016-05-11 Jakub Jelinek <jakub at redhat.com>
++
++ PR fortran/70855
++ * frontend-passes.c (inline_matmul_assign): Disable in !$omp workshare.
++
+2016-04-29 Cesar Philippidis <cesar at codesourcery.com>
+
+ PR middle-end/70626
@@ -1786,6 +2203,23 @@ Index: gcc/fortran/ChangeLog
2016-04-27 Release Manager
* GCC 6.1.0 released.
+Index: gcc/fortran/frontend-passes.c
+===================================================================
+--- a/src/gcc/fortran/frontend-passes.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/fortran/frontend-passes.c (.../branches/gcc-6-branch)
+@@ -2812,6 +2812,12 @@
+ if (in_where)
+ return 0;
+
++ /* For now don't do anything in OpenMP workshare, it confuses
++ its translation, which expects only the allowed statements in there.
++ We should figure out how to parallelize this eventually. */
++ if (in_omp_workshare)
++ return 0;
++
+ expr1 = co->expr1;
+ expr2 = co->expr2;
+ if (expr2->expr_type != EXPR_FUNCTION
Index: gcc/BASE-VER
===================================================================
--- a/src/gcc/BASE-VER (.../tags/gcc_6_1_0_release)
@@ -1892,6 +2326,41 @@ Index: gcc/graphite-scop-detection.c
return;
/* Do not gather scalar variables that can be analyzed by SCEV as they can be
+Index: gcc/calls.c
+===================================================================
+--- a/src/gcc/calls.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/calls.c (.../branches/gcc-6-branch)
+@@ -1188,6 +1188,7 @@
+ j--;
+ }
+ }
++ argpos = 0;
+ FOR_EACH_CALL_EXPR_ARG (arg, iter, exp)
+ {
+ tree argtype = TREE_TYPE (arg);
+@@ -1206,6 +1207,14 @@
+ chkp_find_bound_slots (argtype, slots);
+ }
+ }
++ else if (CALL_WITH_BOUNDS_P (exp)
++ && pass_by_reference (NULL, TYPE_MODE (argtype), argtype,
++ argpos < n_named_args))
++ {
++ if (slots)
++ BITMAP_FREE (slots);
++ ptr_arg = j;
++ }
+ else if (POINTER_BOUNDS_TYPE_P (argtype))
+ {
+ /* We expect bounds in instrumented calls only.
+@@ -1249,6 +1258,7 @@
+ else
+ args[j].tree_value = arg;
+ j--;
++ argpos++;
+ }
+
+ if (slots)
Index: gcc/tree-ssa-coalesce.c
===================================================================
--- a/src/gcc/tree-ssa-coalesce.c (.../tags/gcc_6_1_0_release)
@@ -742547,6 +743016,22 @@ Index: gcc/po/zh_CN.po
-
-#~ msgid "CHARACTER variable at %L has negative length %d, the length has been set to zero"
-#~ msgstr "%L处的CHARACTER 变量有负的长度 %d,长度已经被设为零"
+Index: gcc/tree-vect-patterns.c
+===================================================================
+--- a/src/gcc/tree-vect-patterns.c (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/tree-vect-patterns.c (.../branches/gcc-6-branch)
+@@ -3673,8 +3673,10 @@
+ if (!rhs1_type)
+ return NULL;
+ }
++ else if (COMPARISON_CLASS_P (rhs1))
++ rhs1_type = TREE_TYPE (TREE_OPERAND (rhs1, 0));
+ else
+- rhs1_type = TREE_TYPE (TREE_OPERAND (rhs1, 0));
++ return NULL;
+
+ vectype2 = get_mask_type_for_scalar_type (rhs1_type);
+
Index: gcc/tree-ssa-structalias.c
===================================================================
--- a/src/gcc/tree-ssa-structalias.c (.../tags/gcc_6_1_0_release)
@@ -742927,6 +743412,50 @@ Index: gcc/config/rs6000/rs6000-builtin.def
BU_VSX_X (XSABSDP, "xsabsdp", CONST)
BU_VSX_X (XSADDDP, "xsadddp", FP)
BU_VSX_X (XSCMPODP, "xscmpodp", FP)
+Index: gcc/config/rs6000/vsx.md
+===================================================================
+--- a/src/gcc/config/rs6000/vsx.md (.../tags/gcc_6_1_0_release)
++++ b/src/gcc/config/rs6000/vsx.md (.../branches/gcc-6-branch)
+@@ -1583,10 +1583,15 @@
+ {
+ rtx op0 = operands[0];
+ rtx op1 = operands[1];
+- rtx tmp = gen_reg_rtx (V2DFmode);
+- int scale = INTVAL(operands[2]);
+- if (scale != 0)
+- rs6000_scale_v2df (tmp, op1, scale);
++ rtx tmp;
++ int scale = INTVAL (operands[2]);
++ if (scale == 0)
++ tmp = op1;
++ else
++ {
++ tmp = gen_reg_rtx (V2DFmode);
++ rs6000_scale_v2df (tmp, op1, scale);
++ }
+ emit_insn (gen_vsx_xvcvdpsxds (op0, tmp));
+ DONE;
+ })
+@@ -1607,10 +1612,15 @@
+ {
+ rtx op0 = operands[0];
+ rtx op1 = operands[1];
+- rtx tmp = gen_reg_rtx (V2DFmode);
+- int scale = INTVAL(operands[2]);
+- if (scale != 0)
+- rs6000_scale_v2df (tmp, op1, scale);
++ rtx tmp;
++ int scale = INTVAL (operands[2]);
++ if (scale == 0)
++ tmp = op1;
++ else
++ {
++ tmp = gen_reg_rtx (V2DFmode);
++ rs6000_scale_v2df (tmp, op1, scale);
++ }
+ emit_insn (gen_vsx_xvcvdpuxds (op0, tmp));
+ DONE;
+ })
Index: libvtv/Makefile.in
===================================================================
--- a/src/libvtv/Makefile.in (.../tags/gcc_6_1_0_release)
--
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