aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@acm.org>2005-08-08 19:47:59 +0000
committerBob Wilson <bwilson@gcc.gnu.org>2005-08-08 19:47:59 +0000
commit224694090c01069cec258efe72c5115b7ef2a879 (patch)
tree5bca466c1540daf8b2d84c021728fcd419c8a72f /gcc/expr.c
parent2d88fcc27deb188430c8192197b69e2e1af54631 (diff)
downloadgcc-224694090c01069cec258efe72c5115b7ef2a879.zip
gcc-224694090c01069cec258efe72c5115b7ef2a879.tar.gz
gcc-224694090c01069cec258efe72c5115b7ef2a879.tar.bz2
* expr.c (write_complex_part): Return after handling MEM.
From-SVN: r102878
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 472e10a..5961e27 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -2669,9 +2669,12 @@ write_complex_part (rtx cplx, rtx val, bool imag_p)
adjust_address_nv. Instead of preparing fallback support for an
invalid address, we call adjust_address_nv directly. */
if (MEM_P (cplx))
- emit_move_insn (adjust_address_nv (cplx, imode,
- imag_p ? GET_MODE_SIZE (imode) : 0),
- val);
+ {
+ emit_move_insn (adjust_address_nv (cplx, imode,
+ imag_p ? GET_MODE_SIZE (imode) : 0),
+ val);
+ return;
+ }
/* If the sub-object is at least word sized, then we know that subregging
will work. This special case is important, since store_bit_field