d: Fix ICE in create_tmp_var, at gimple-expr.c:482
authorIain Buclaw <ibuclaw@gdcproject.org>
Fri, 4 Sep 2020 20:54:22 +0000 (22:54 +0200)
committerIain Buclaw <ibuclaw@gdcproject.org>
Fri, 4 Sep 2020 21:01:46 +0000 (23:01 +0200)
commitf8eabd47ac5335ebab0d83ff61fb680a46888be8
tree4fb1eb8e402c83c61978be708eceb58d78bba9a0
parentf923c40f9baba19e58f65afa7e5572f08cee93ff
d: Fix ICE in create_tmp_var, at gimple-expr.c:482

Array concatenate expressions were creating more SAVE_EXPRs than what
was necessary.  The internal error itself was the result of a forced
temporary being made on a TREE_ADDRESSABLE type.

gcc/d/ChangeLog:

PR d/96924
* expr.cc (ExprVisitor::visit (CatAssignExp *)): Don't force
temporaries needlessly.

gcc/testsuite/ChangeLog:

PR d/96924
* gdc.dg/simd13927b.d: Removed.
* gdc.dg/pr96924.d: New test.
gcc/d/expr.cc
gcc/testsuite/gdc.dg/pr96924.d [new file with mode: 0644]
gcc/testsuite/gdc.dg/simd13927b.d [deleted file]