From 725e58b1b6b9e59bfb05d08572210ae1050fe232 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 16 Feb 2002 18:44:14 +0000 Subject: [PATCH] * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE. From-SVN: r49805 --- gcc/ChangeLog | 4 ++++ gcc/expr.c | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 73f2033975a..0481a6e3882 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +Sat Feb 16 13:39:09 2002 Richard Kenner + + * expr.c (store_constructor): Handle target REG case for ARRAY_TYPE. + 2002-02-16 Ulrich Weigand * config/s390/s390.c (pool_stop_uid, other_chunk, far_away, diff --git a/gcc/expr.c b/gcc/expr.c index fe874ce648e..73690372e4e 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -4617,7 +4617,12 @@ store_constructor (exp, target, cleared, size) if (need_to_clear && size > 0) { if (! cleared) - clear_storage (target, GEN_INT (size)); + { + if (REG_P (target)) + emit_move_insn (target, CONST0_RTX (GET_MODE (target))); + else + clear_storage (target, GEN_INT (size)); + } cleared = 1; } else if (REG_P (target)) -- 2.30.2