Commit e84d50a7 authored by Matthias Klose's avatar Matthias Klose

* Update to SVN 20190209 (r268732) from the gcc-7-branch.

parent e50ba9c0
gcc-7 (7.4.0-5) UNRELEASED; urgency=medium
* Update to SVN 20190209 (r268483) from the gcc-7-branch.
* Update to SVN 20190209 (r268732) from the gcc-7-branch.
- Fix PR target/88856 (S390X). Addresses: #915738. LP: #1815057.
- Fix PR target/85755 (PPC), PR target/87064 (PPC), PR target/87064 (PPC),
PR fortran/67679, PR fortran/88393, PR libfortran/88678.
PR fortran/67679, PR fortran/88393, PR libfortran/88678,
PR target/88343.
-- Matthias Klose <doko@debian.org> Sat, 09 Feb 2019 12:27:44 +0100
-- Matthias Klose <doko@debian.org> Sat, 09 Feb 2019 23:11:56 +0100
gcc-7 (7.4.0-4) unstable; urgency=medium
......
# DP: updates from the 7 branch upto 20190209 (r268721).
# DP: updates from the 7 branch upto 20190209 (r268732).
last_update()
{
cat > ${dir}LAST_UPDATED <EOF
Sat Feb 9 12:22:03 CET 2019
Sat Feb 9 11:22:03 UTC 2019 (revision 268721)
Sat Feb 9 23:10:01 CET 2019
Sat Feb 9 22:10:01 UTC 2019 (revision 268732)
EOF
}
......@@ -559,7 +559,13 @@ Index: gcc/ChangeLog
===================================================================
--- a/src/gcc/ChangeLog (.../tags/gcc_7_4_0_release)
+++ b/src/gcc/ChangeLog (.../branches/gcc-7-branch)
@@ -1,3 +1,394 @@
@@ -1,3 +1,400 @@
+2019-02-09 Alan Modra <amodra@gmail.com>
+
+ PR target/88343
+ * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Match
+ logic in rs6000_emit_prologue emitting pic_offset_table setup.
+
+2019-02-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ Backport from mainline
......@@ -954,7 +960,7 @@ Index: gcc/ChangeLog
2018-12-06 Release Manager
* GCC 7.4.0 released.
@@ -19,13 +414,13 @@
@@ -19,13 +420,13 @@
* gcc/dwarf2out.c (FUNC_SECOND_SECT_LABEL): New.
(dwarf2out_switch_text_section): Generate a local label for the second
function sub-section and apply it as the second FDE start label.
......@@ -2391,6 +2397,18 @@ Index: gcc/testsuite/gfortran.dg/pr88269.f90
+ write (end=1e1) ! { dg-error "tag not allowed" }
+end
+
Index: gcc/testsuite/gfortran.dg/null_10.f90
===================================================================
--- a/src/gcc/testsuite/gfortran.dg/null_10.f90 (.../tags/gcc_7_4_0_release)
+++ b/src/gcc/testsuite/gfortran.dg/null_10.f90 (.../branches/gcc-7-branch)
@@ -0,0 +1,7 @@
+! { dg-do compile }
+! PR 71860 - this used to ICE
+! Original test case by Gerhard Steinmetz
+program p
+ class(*), pointer :: z
+ z => null(z)
+end
Index: gcc/testsuite/gfortran.dg/coarray_lock_7.f90
===================================================================
--- a/src/gcc/testsuite/gfortran.dg/coarray_lock_7.f90 (.../tags/gcc_7_4_0_release)
......@@ -3377,7 +3395,13 @@ Index: gcc/testsuite/ChangeLog
===================================================================
--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_7_4_0_release)
+++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-7-branch)
@@ -1,3 +1,380 @@
@@ -1,3 +1,386 @@
+2019-02-09 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/71860
+ Backport from trunk
+ * gfortran.dg/null_10.f90: New test.
+
+2019-02-06 Kelvin Nilsen <kelvin@gcc.gnu.org>
+
+ 2019-02-05 Kelvin Nilsen <kelvin@gcc.gnu.org>
......@@ -7246,6 +7270,55 @@ Index: gcc/config/rs6000/rs6000.c
/* Enable the default support for IEEE 128-bit floating point on Linux VSX
sytems, but don't enable the __float128 keyword. */
if (TARGET_VSX && TARGET_LONG_DOUBLE_128
@@ -26714,27 +26726,35 @@
static bool
rs6000_reg_live_or_pic_offset_p (int reg)
{
- /* We need to mark the PIC offset register live for the same conditions
- as it is set up, or otherwise it won't be saved before we clobber it. */
-
if (reg == RS6000_PIC_OFFSET_TABLE_REGNUM && !TARGET_SINGLE_PIC_BASE)
{
+ /* When calling eh_return, we must return true for all the cases
+ where conditional_register_usage marks the PIC offset reg
+ call used or fixed. */
+ if (crtl->calls_eh_return
+ && ((DEFAULT_ABI == ABI_V4 && flag_pic)
+ || (DEFAULT_ABI == ABI_DARWIN && flag_pic)
+ || (TARGET_TOC && TARGET_MINIMAL_TOC)))
+ return true;
+
+ /* We need to mark the PIC offset register live for the same
+ conditions as it is set up in rs6000_emit_prologue, or
+ otherwise it won't be saved before we clobber it. */
if (TARGET_TOC && TARGET_MINIMAL_TOC
- && (crtl->calls_eh_return
- || df_regs_ever_live_p (reg)
- || !constant_pool_empty_p ()))
+ && !constant_pool_empty_p ())
return true;
- if ((DEFAULT_ABI == ABI_V4 || DEFAULT_ABI == ABI_DARWIN)
- && flag_pic)
+ if (DEFAULT_ABI == ABI_V4
+ && (flag_pic == 1 || (flag_pic && TARGET_SECURE_PLT))
+ && df_regs_ever_live_p (RS6000_PIC_OFFSET_TABLE_REGNUM))
return true;
+
+ if (DEFAULT_ABI == ABI_DARWIN
+ && flag_pic && crtl->uses_pic_offset_table)
+ return true;
}
- /* If the function calls eh_return, claim used all the registers that would
- be checked for liveness otherwise. */
-
- return ((crtl->calls_eh_return || df_regs_ever_live_p (reg))
- && !call_used_regs[reg]);
+ return !call_used_regs[reg] && df_regs_ever_live_p (reg);
}
/* Return the first fixed-point register that is required to be
Index: gcc/config/rs6000/vsx.md
===================================================================
--- a/src/gcc/config/rs6000/vsx.md (.../tags/gcc_7_4_0_release)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment