aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>2001-11-28 22:34:07 +0000
committerJeff Law <law@gcc.gnu.org>2001-11-28 15:34:07 -0700
commit35a53991ae5b9c730b6cd31a725c2a3d26ae11a7 (patch)
tree60f3424f7466dd69f1fa806b184fd4f3552f641d /gcc/expr.c
parentd4d73d4c5a64592706d9d58936291922e788a6d0 (diff)
downloadgcc-35a53991ae5b9c730b6cd31a725c2a3d26ae11a7.zip
gcc-35a53991ae5b9c730b6cd31a725c2a3d26ae11a7.tar.gz
gcc-35a53991ae5b9c730b6cd31a725c2a3d26ae11a7.tar.bz2
expr.c (store_expr): When copying a string constant into an array...
* expr.c (store_expr): When copying a string constant into an array, reset the known alignment of the MEM for the section to be cleared to BITS_PER_UNIT. From-SVN: r47432
Diffstat (limited to 'gcc/expr.c')
-rw-r--r--gcc/expr.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/expr.c b/gcc/expr.c
index 240fb8b..eb7f2d3 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -4293,6 +4293,12 @@ store_expr (exp, target, want_value)
MEM_COPY_ATTRIBUTES (dest, target);
+ /* The residual likely does not have the same alignment
+ as the original target. While we could compute the
+ alignment of the residual, it hardely seems worth
+ the effort. */
+ set_mem_align (dest, BITS_PER_UNIT);
+
/* Be sure we can write on ADDR. */
in_check_memory_usage = 1;
if (current_function_check_memory_usage)