summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-07-17 14:14:23 +0000
committerdoko <doko@6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>2014-07-17 14:14:23 +0000
commit3a3e8a04313be06d53cac7acbb50b9ada1eae870 (patch)
treebf545d517756867f09024ca32dc8673b75a6b8e7
parenta02ed62ac9f8bd81bf60ff0064ec5b2319beaf3f (diff)
downloadgcc-49-3a3e8a04313be06d53cac7acbb50b9ada1eae870.tar.gz
* Update to SVN 20140717 (r212756) from the gcc-4_8-branch.
git-svn-id: svn://svn.debian.org/svn/gcccvs/branches/sid/gcc-4.8@7513 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
-rw-r--r--debian/changelog4
-rw-r--r--debian/patches/svn-updates.diff296
2 files changed, 291 insertions, 9 deletions
diff --git a/debian/changelog b/debian/changelog
index 88cdb9b..c3f7eee 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,8 @@
gcc-4.8 (4.8.3-5) UNRELEASED; urgency=medium
- * Update to SVN 20140701 (r212193) from the gcc-4_8-branch.
+ * Update to SVN 20140717 (r212756) from the gcc-4_8-branch.
- -- Matthias Klose <doko@debian.org> Tue, 01 Jul 2014 11:21:36 +0200
+ -- Matthias Klose <doko@debian.org> Thu, 17 Jul 2014 16:12:10 +0200
gcc-4.8 (4.8.3-4) unstable; urgency=medium
diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff
index 9c95d00..fd86973 100644
--- a/debian/patches/svn-updates.diff
+++ b/debian/patches/svn-updates.diff
@@ -1,10 +1,10 @@
-# DP: updates from the 4.8 branch upto 20140701 (r212193).
+# DP: updates from the 4.8 branch upto 20140717 (r212756).
last_updated()
{
cat > ${dir}LAST_UPDATED <<EOF
-Tue Jul 1 11:02:40 CEST 2014
-Tue Jul 1 09:02:40 UTC 2014 (revision 212193)
+Thu Jul 17 16:06:36 CEST 2014
+Thu Jul 17 14:06:36 UTC 2014 (revision 212756)
EOF
}
@@ -269,6 +269,31 @@ Index: libstdc++-v3/testsuite/30_threads/promise/60966.cc
+ for (auto& t : threads)
+ t.join();
+}
+Index: contrib/ChangeLog
+===================================================================
+--- a/src/contrib/ChangeLog (.../tags/gcc_4_8_3_release)
++++ b/src/contrib/ChangeLog (.../branches/gcc-4_8-branch)
+@@ -1,3 +1,7 @@
++2014-07-07 Richard Biener <rguenther@suse.de>
++
++ * gennews: Use gcc-3.0/index.html.
++
+ 2014-05-22 Release Manager
+
+ * GCC 4.8.3 released.
+Index: contrib/gennews
+===================================================================
+--- a/src/contrib/gennews (.../tags/gcc_4_8_3_release)
++++ b/src/contrib/gennews (.../branches/gcc-4_8-branch)
+@@ -37,7 +37,7 @@
+ gcc-3.3/index.html gcc-3.3/changes.html
+ gcc-3.2/index.html gcc-3.2/changes.html
+ gcc-3.1/index.html gcc-3.1/changes.html
+- gcc-3.0/gcc-3.0.html gcc-3.0/features.html gcc-3.0/caveats.html
++ gcc-3.0/index.html gcc-3.0/features.html gcc-3.0/caveats.html
+ gcc-2.95/index.html gcc-2.95/features.html gcc-2.95/caveats.html
+ egcs-1.1/index.html egcs-1.1/features.html egcs-1.1/caveats.html
+ egcs-1.0/index.html egcs-1.0/features.html egcs-1.0/caveats.html"
Index: libjava/classpath
===================================================================
--- a/src/libjava/classpath (.../tags/gcc_4_8_3_release)
@@ -284,7 +309,7 @@ Index: gcc/DATESTAMP
+++ b/src/gcc/DATESTAMP (.../branches/gcc-4_8-branch)
@@ -1 +1 @@
-20140522
-+20140701
++20140717
Index: gcc/ipa-cp.c
===================================================================
--- a/src/gcc/ipa-cp.c (.../tags/gcc_4_8_3_release)
@@ -298,11 +323,51 @@ Index: gcc/ipa-cp.c
if (reason && dump_file && !node->alias && !node->thunk.thunk_p)
fprintf (dump_file, "Function %s/%i is not versionable, reason: %s.\n",
+Index: gcc/omp-low.c
+===================================================================
+--- a/src/gcc/omp-low.c (.../tags/gcc_4_8_3_release)
++++ b/src/gcc/omp-low.c (.../branches/gcc-4_8-branch)
+@@ -1586,7 +1586,6 @@
+ TREE_STATIC (decl) = 1;
+ TREE_USED (decl) = 1;
+ DECL_ARTIFICIAL (decl) = 1;
+- DECL_NAMELESS (decl) = 1;
+ DECL_IGNORED_P (decl) = 0;
+ TREE_PUBLIC (decl) = 0;
+ DECL_UNINLINABLE (decl) = 1;
Index: gcc/ChangeLog
===================================================================
--- a/src/gcc/ChangeLog (.../tags/gcc_4_8_3_release)
+++ b/src/gcc/ChangeLog (.../branches/gcc-4_8-branch)
-@@ -1,3 +1,255 @@
+@@ -1,3 +1,283 @@
++2014-07-17 Richard Biener <rguenther@suse.de>
++
++ PR rtl-optimization/61801
++ * sched-deps.c (sched_analyze_2): For ASM_OPERANDS and
++ ASM_INPUT don't set reg_pending_barrier if it appears in a
++ debug-insn.
++
++2014-07-16 Jakub Jelinek <jakub@redhat.com>
++
++ * omp-low.c (create_omp_child_function): Don't set DECL_NAMELESS
++ on the FUNCTION_DECL.
++
++2014-07-10 Tom G. Christensen <tgc@jupiterrise.com>
++
++ * doc/install.texi: Remove links to defunct package providers for
++ Solaris.
++
++2014-07-10 Eric Botcazou <ebotcazou@adacore.com>
++
++ PR middle-end/53590
++ * function.c (allocate_struct_function): Revert r188667 change.
++
++2014-07-04 Jakub Jelinek <jakub@redhat.com>
++
++ PR tree-optimization/61684
++ * tree-ssa-ifcombine.c (recognize_single_bit_test): Make sure
++ rhs1 of conversion is a SSA_NAME before using SSA_NAME_DEF_STMT on it.
++
+2014-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ Backport from Mainline
@@ -1061,6 +1126,19 @@ Index: gcc/testsuite/gfortran.dg/cray_pointers_10.f90
+ a = 42
+ if (z /= 42) call abort
+end program test
+Index: gcc/testsuite/gfortran.dg/oldstyle_5.f
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/oldstyle_5.f (.../tags/gcc_4_8_3_release)
++++ b/src/gcc/testsuite/gfortran.dg/oldstyle_5.f (.../branches/gcc-4_8-branch)
+@@ -0,0 +1,8 @@
++C { dg-do compile }
++ TYPE T
++ INTEGER A(2)/1,2/ ! { dg-error "Invalid old style initialization for derived type component" }
++ END TYPE
++ TYPE S
++ INTEGER B/1/ ! { dg-error "Invalid old style initialization for derived type component" }
++ END TYPE
++ END
Index: gcc/testsuite/gfortran.dg/nint_2.f90
===================================================================
--- a/src/gcc/testsuite/gfortran.dg/nint_2.f90 (.../tags/gcc_4_8_3_release)
@@ -1075,6 +1153,58 @@ Index: gcc/testsuite/gfortran.dg/nint_2.f90
real(kind=8) :: a
integer(kind=8) :: i1, i2
real :: b
+Index: gcc/testsuite/gfortran.dg/allocatable_function_8.f90
+===================================================================
+--- a/src/gcc/testsuite/gfortran.dg/allocatable_function_8.f90 (.../tags/gcc_4_8_3_release)
++++ b/src/gcc/testsuite/gfortran.dg/allocatable_function_8.f90 (.../branches/gcc-4_8-branch)
+@@ -0,0 +1,47 @@
++! { dg-do run }
++! Test the fix for PR61459.
++!
++! Contributed by John Wingate <johnww@tds.net>
++!
++module a
++
++ implicit none
++ private
++ public :: f_segfault, f_segfault_plus, f_workaround
++ integer, dimension(2,2) :: b = reshape([1,-1,1,1],[2,2])
++
++contains
++
++ function f_segfault(x)
++ real, dimension(:), allocatable :: f_segfault
++ real, dimension(:), intent(in) :: x
++ allocate(f_segfault(2))
++ f_segfault = matmul(b,x)
++ end function f_segfault
++
++! Sefaulted without the ALLOCATE as well.
++ function f_segfault_plus(x)
++ real, dimension(:), allocatable :: f_segfault_plus
++ real, dimension(:), intent(in) :: x
++ f_segfault_plus = matmul(b,x)
++ end function f_segfault_plus
++
++ function f_workaround(x)
++ real, dimension(:), allocatable :: f_workaround
++ real, dimension(:), intent(in) :: x
++ real, dimension(:), allocatable :: tmp
++ allocate(f_workaround(2),tmp(2))
++ tmp = matmul(b,x)
++ f_workaround = tmp
++ end function f_workaround
++
++end module a
++
++program main
++ use a
++ implicit none
++ real, dimension(2) :: x = 1.0, y
++ y = f_workaround (x)
++ if (any (f_segfault (x) .ne. y)) call abort
++ if (any (f_segfault_plus (x) .ne. y)) call abort
++end program main
Index: gcc/testsuite/gcc.c-torture/execute/pr61306-1.c
===================================================================
--- a/src/gcc/testsuite/gcc.c-torture/execute/pr61306-1.c (.../tags/gcc_4_8_3_release)
@@ -1182,6 +1312,62 @@ Index: gcc/testsuite/gcc.c-torture/execute/pr61306-2.c
+ __builtin_abort ();
+ return 0;
+}
+Index: gcc/testsuite/gcc.c-torture/compile/pr61684.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.c-torture/compile/pr61684.c (.../tags/gcc_4_8_3_release)
++++ b/src/gcc/testsuite/gcc.c-torture/compile/pr61684.c (.../branches/gcc-4_8-branch)
+@@ -0,0 +1,15 @@
++/* PR tree-optimization/61684 */
++
++int a, c;
++static int *b = 0;
++short d;
++static short **e = 0;
++
++void
++foo ()
++{
++ for (; c < 1; c++)
++ ;
++ *e = &d;
++ a = d && (c && 1) & *b;
++}
+Index: gcc/testsuite/gnat.dg/opt39.adb
+===================================================================
+--- a/src/gcc/testsuite/gnat.dg/opt39.adb (.../tags/gcc_4_8_3_release)
++++ b/src/gcc/testsuite/gnat.dg/opt39.adb (.../branches/gcc-4_8-branch)
+@@ -0,0 +1,31 @@
++-- { dg-do compile }
++-- { dg-options "-O2 -fno-inline -fdump-tree-optimized" }
++
++procedure Opt39 (I : Integer) is
++
++ type Rec is record
++ I1 : Integer;
++ I2 : Integer;
++ I3 : Integer;
++ I4 : Integer;
++ I5 : Integer;
++ end record;
++
++ procedure Set (A : access Rec; I : Integer) is
++ Tmp : Rec := A.all;
++ begin
++ Tmp.I1 := I;
++ A.all := Tmp;
++ end;
++
++ R : aliased Rec;
++
++begin
++ Set (R'Access, I);
++ if R.I1 /= I then
++ raise Program_Error;
++ end if;
++end;
++
++-- { dg-final { scan-tree-dump-times "MEM" 1 "optimized" } }
++-- { dg-final { cleanup-tree-dump "optimized" } }
Index: gcc/testsuite/gnat.dg/overflow_fixed.adb
===================================================================
--- a/src/gcc/testsuite/gnat.dg/overflow_fixed.adb (.../tags/gcc_4_8_3_release)
@@ -1284,7 +1470,27 @@ Index: gcc/testsuite/ChangeLog
===================================================================
--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_4_8_3_release)
+++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-4_8-branch)
-@@ -1,3 +1,117 @@
+@@ -1,3 +1,137 @@
++2014-07-10 Eric Botcazou <ebotcazou@adacore.com>
++
++ * gnat.dg/opt39.adb: New test.
++
++2014-07-08 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/61459
++ PR fortran/58883
++ * gfortran.dg/allocatable_function_8.f90 : New test
++
++2014-07-04 Jakub Jelinek <jakub@redhat.com>
++
++ PR tree-optimization/61684
++ * gcc.c-torture/compile/pr61684.c: New test.
++
++2014-07-02 Jakub Jelinek <jakub@redhat.com>
++ Fritz Reese <Reese-Fritz@zai.com>
++
++ * gfortran.dg/oldstyle_5.f: New test.
++
+2014-06-30 Thomas Preud'homme <thomas.preudhomme@arm.com>
+
+ Backport from mainline
@@ -1888,6 +2094,16 @@ Index: gcc/tree-ssa-ifcombine.c
|| gimple_vuse (stmt))
return false;
}
+@@ -197,7 +201,8 @@
+ while (is_gimple_assign (stmt)
+ && ((CONVERT_EXPR_CODE_P (gimple_assign_rhs_code (stmt))
+ && (TYPE_PRECISION (TREE_TYPE (gimple_assign_lhs (stmt)))
+- <= TYPE_PRECISION (TREE_TYPE (gimple_assign_rhs1 (stmt)))))
++ <= TYPE_PRECISION (TREE_TYPE (gimple_assign_rhs1 (stmt))))
++ && TREE_CODE (gimple_assign_rhs1 (stmt)) == SSA_NAME)
+ || gimple_assign_ssa_name_copy_p (stmt)))
+ stmt = SSA_NAME_DEF_STMT (gimple_assign_rhs1 (stmt));
+
Index: gcc/sel-sched-ir.c
===================================================================
--- a/src/gcc/sel-sched-ir.c (.../tags/gcc_4_8_3_release)
@@ -2045,11 +2261,55 @@ Index: gcc/sel-sched-ir.c
/* Only update dominator info when we don't have unreachable blocks.
Otherwise we'll update in maybe_tidy_empty_bb. */
+Index: gcc/fortran/trans-expr.c
+===================================================================
+--- a/src/gcc/fortran/trans-expr.c (.../tags/gcc_4_8_3_release)
++++ b/src/gcc/fortran/trans-expr.c (.../branches/gcc-4_8-branch)
+@@ -7096,7 +7096,7 @@
+
+ res_desc = gfc_evaluate_now (desc, &se->pre);
+ gfc_conv_descriptor_data_set (&se->pre, res_desc, null_pointer_node);
+- se->expr = gfc_build_addr_expr (TREE_TYPE (se->expr), res_desc);
++ se->expr = gfc_build_addr_expr (NULL_TREE, res_desc);
+
+ /* Free the lhs after the function call and copy the result data to
+ the lhs descriptor. */
+Index: gcc/fortran/decl.c
+===================================================================
+--- a/src/gcc/fortran/decl.c (.../tags/gcc_4_8_3_release)
++++ b/src/gcc/fortran/decl.c (.../branches/gcc-4_8-branch)
+@@ -1996,6 +1996,13 @@
+ if (gfc_notify_std (GFC_STD_GNU, "Old-style "
+ "initialization at %C") == FAILURE)
+ return MATCH_ERROR;
++ else if (gfc_current_state () == COMP_DERIVED)
++ {
++ gfc_error ("Invalid old style initialization for derived type "
++ "component at %C");
++ m = MATCH_ERROR;
++ goto cleanup;
++ }
+
+ return match_old_style_init (name);
+ }
Index: gcc/fortran/ChangeLog
===================================================================
--- a/src/gcc/fortran/ChangeLog (.../tags/gcc_4_8_3_release)
+++ b/src/gcc/fortran/ChangeLog (.../branches/gcc-4_8-branch)
-@@ -1,3 +1,17 @@
+@@ -1,3 +1,30 @@
++2014-07-08 Paul Thomas <pault@gcc.gnu.org>
++
++ PR fortran/61459
++ PR fortran/58883
++ * trans-expr.c (fcncall_realloc_result): Use the natural type
++ for the address expression of 'res_desc'.
++
++2014-07-02 Jakub Jelinek <jakub@redhat.com>
++ Fritz Reese <Reese-Fritz@zai.com>
++
++ * decl.c (variable_decl): Reject old style initialization
++ for derived type components.
++
+2014-06-15 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ Backport from trunk.
@@ -2128,6 +2388,14 @@ Index: gcc/function.c
#endif
}
+@@ -4518,6 +4523,7 @@
+ /* ??? This could be set on a per-function basis by the front-end
+ but is this worth the hassle? */
+ cfun->can_throw_non_call_exceptions = flag_non_call_exceptions;
++ cfun->can_delete_dead_exceptions = flag_delete_dead_exceptions;
+ }
+ }
+
Index: gcc/common.opt
===================================================================
--- a/src/gcc/common.opt (.../tags/gcc_4_8_3_release)
@@ -2143,6 +2411,20 @@ Index: gcc/common.opt
floop-flatten
Common Ignore
Does nothing. Preserved for backward compatibility.
+Index: gcc/sched-deps.c
+===================================================================
+--- a/src/gcc/sched-deps.c (.../tags/gcc_4_8_3_release)
++++ b/src/gcc/sched-deps.c (.../branches/gcc-4_8-branch)
+@@ -2744,7 +2744,8 @@
+ Consider for instance a volatile asm that changes the fpu rounding
+ mode. An insn should not be moved across this even if it only uses
+ pseudo-regs because it might give an incorrectly rounded result. */
+- if (code != ASM_OPERANDS || MEM_VOLATILE_P (x))
++ if ((code != ASM_OPERANDS || MEM_VOLATILE_P (x))
++ && !DEBUG_INSN_P (insn))
+ reg_pending_barrier = TRUE_BARRIER;
+
+ /* For all ASM_OPERANDS, we must traverse the vector of input operands.
Index: gcc/config/alpha/alpha.c
===================================================================
--- a/src/gcc/config/alpha/alpha.c (.../tags/gcc_4_8_3_release)