Commit 3d0dc2e3 authored by Matthias Klose's avatar Matthias Klose

* Update to SVN 20190501 (r270777) from the gcc-8-branch.

parent db42486a
gcc-8 (8.3.0-8) UNRELEASED; urgency=medium
* Update to SVN 20190501 (r270777) from the gcc-8-branch.
- Fix PR c/89946, PR c++/90108, PR c/89933, PR c/89734,
PR target/90193, PR target/90187 (x86), PR tree-optimization/90208,
PR rtl-optimization/90082, PR tree-optimization/90090,
PR rtl-optimization/89965, PR c/89946, PR rtl-optimization/90026,
PR rtl-optimization/89965, PR c++/90010, PR tree-optimization/89998,
PR c/89872, PR middle-end/89621, PR target/89752, PR target/89752,
PR rtl-optimization/89768, PR target/89726 (x86), PR debug/89704,
PR ipa/89684, PR rtl-optimization/89679, PR tree-optimization/89703,
PR debug/89498, PR middle-end/88588, PR middle-end/89663, PR c/88568,
PR target/89587 (PPC), PR middle-end/89590, PR middle-end/89412,
PR c/89520, PR middle-end/89091, PR middle-end/88074, PR middle-end/89415,
PR middle-end/88074, PR target/86538 (AArch64), PR target/37369 (AArch64),
PR middle-end/89037, PR target/85910 (AArch64), PR debug/89631,
PR c++/90108, PR c/89933, PR sanitizer/89869, PR c++/89796,
PR c++/60702, PR c++/89767, PR c++/89512, PR c++/87148, PR c++/89403,
PR c++/89405, PR fortran/89651.
-- Matthias Klose <doko@debian.org> Wed, 01 May 2019 21:54:12 +0200
gcc-8 (8.3.0-7) unstable; urgency=medium
* Update to SVN 20190428 (r270630) from the gcc-8-branch.
......
# DP: Fix PR middle-end/89412, taken from the trunk.
gcc/
2019-02-20 Jakub Jelinek <jakub@redhat.com>
PR middle-end/89412
* expr.c (expand_assignment): If result is a MEM, use change_address
instead of simplify_gen_subreg.
gcc/testsuite/
2019-02-20 Jakub Jelinek <jakub@redhat.com>
PR middle-end/89412
* gcc.c-torture/compile/pr89412.c: New test.
--- a/src/gcc/expr.c
+++ b/src/gcc/expr.c
@@ -5187,9 +5187,13 @@ expand_assignment (tree to, tree from, b
}
else
{
- rtx from_rtx
- = simplify_gen_subreg (to_mode, result,
- TYPE_MODE (TREE_TYPE (from)), 0);
+ rtx from_rtx;
+ if (MEM_P (result))
+ from_rtx = change_address (result, to_mode, NULL_RTX);
+ else
+ from_rtx
+ = simplify_gen_subreg (to_mode, result,
+ TYPE_MODE (TREE_TYPE (from)), 0);
if (from_rtx)
{
emit_move_insn (XEXP (to_rtx, 0),
--- /dev/null
+++ b/src/gcc/testsuite/gcc.c-torture/compile/pr89412.c
@@ -0,0 +1,16 @@
+/* PR middle-end/89412 */
+
+struct S { double a, b; } d;
+int e;
+double f;
+
+void
+foo ()
+{
+ _Complex double h;
+ while (e)
+ {
+ f = h;
+ *(struct S *) &h = d;
+ }
+}
This diff is collapsed.
......@@ -77,7 +77,6 @@ debian_patches += \
kfreebsd-decimal-float \
powerpcspe_remove_many \
ia64-disable-selective-scheduling \
pr89412 \
pr87808 \
pr88419-revert \
pr90050 \
......
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