[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