diff options
author | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-22 18:51:28 +0000 |
---|---|---|
committer | uros <uros@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-06-22 18:51:28 +0000 |
commit | e8d1dcf24753c1011fb85892b609a00550b18224 (patch) | |
tree | 6600ebacfc0a26ca7afe0a15a806c900c5ca85bd /gcc/expr.c | |
parent | d5e1a003126ef7d0c38642baeef9d1131e868378 (diff) | |
download | gcc-e8d1dcf24753c1011fb85892b609a00550b18224.tar.gz |
PR middle-end/32374
* expr.c (store_constructor): Do not clobber non-zeroed memory.
testsuite/ChangeLog:
PR middle-end/32374
* gcc.dg/pr32374.c: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125955 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.c')
-rw-r--r-- | gcc/expr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/expr.c b/gcc/expr.c index 3f0caf117d5..0739b0533bc 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -5062,7 +5062,7 @@ store_constructor (tree exp, rtx target, int cleared, HOST_WIDE_INT size) cleared = 1; } - if (! cleared) + if (REG_P (target) && !cleared) emit_insn (gen_rtx_CLOBBER (VOIDmode, target)); /* Store each element of the constructor into the |