re PR tree-optimization/83609 (ICE in read_complex_part at gcc/expr.c:3202)
authorJakub Jelinek <jakub@redhat.com>
Sun, 31 Dec 2017 23:51:14 +0000 (00:51 +0100)
committerJakub Jelinek <jakub@gcc.gnu.org>
Sun, 31 Dec 2017 23:51:14 +0000 (00:51 +0100)
commitc1329fc84c8f7ee892070cb4aa514c4dbab70625
tree99327b117c62805bc20eb2ed91a3f21228c802e6
parentd235d09b7c86a2955bebdcb1991cd21758bcc21b
re PR tree-optimization/83609 (ICE in read_complex_part at gcc/expr.c:3202)

PR middle-end/83609
* expr.c (expand_assignment): Fix up a typo in simplify_gen_subreg
last argument when extracting from CONCAT.  If either from_real or
from_imag is NULL, use expansion through memory.  If result is not
a CONCAT and simplify_gen_subreg fails, try to simplify_gen_subreg
the parts directly to inner mode, if even that fails, use expansion
through memory.

* gcc.dg/pr83609.c: New test.
* g++.dg/opt/pr83609.C: New test.

From-SVN: r256052
gcc/ChangeLog
gcc/expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/opt/pr83609.C [new file with mode: 0644]
gcc/testsuite/gcc.dg/pr83609.c [new file with mode: 0644]