OSDN Git Service

gcc/
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Oct 2011 07:46:58 +0000 (07:46 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 12 Oct 2011 07:46:58 +0000 (07:46 +0000)
commitee5ab2d1409dc6bc472395af025a8cbac86a01cf
tree4308de3c1a843d03ea183155046d08644a139ffe
parent3aa9fba733602f06d7163aa52b427a959a1d6d91
gcc/
* expr.h (copy_blkmode_to_reg): Declare.
* expr.c (copy_blkmode_to_reg): New function.
(expand_assignment): Don't expand register RESULT_DECLs before
the lhs.  Use copy_blkmode_to_reg to copy BLKmode values into a
RESULT_DECL register.
(expand_expr_real_1): Handle BLKmode decls when looking for promotion.
* stmt.c (expand_return): Move BLKmode-to-register code into
copy_blkmode_to_reg.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179839 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/expr.c
gcc/expr.h
gcc/stmt.c
gcc/testsuite/g++.dg/pr48660.C [new file with mode: 0644]