Comment 25 for bug 736661

Revision history for this message
In , Rsandifo-gcc (rsandifo-gcc) wrote :

Author: rsandifo
Date: Fri Jan 6 14:59:47 2012
New Revision: 182956

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=182956
Log:
gcc/
 PR middle-end/48660
 * 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.

gcc/testsuite/
 PR middle-end/48660
 * g++.dg/pr48660.C: New test.

Added:
    branches/gcc-4_5-branch/gcc/testsuite/g++.dg/pr48660.C
Modified:
    branches/gcc-4_5-branch/gcc/ChangeLog
    branches/gcc-4_5-branch/gcc/expr.c
    branches/gcc-4_5-branch/gcc/expr.h
    branches/gcc-4_5-branch/gcc/testsuite/ChangeLog