aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/expr.c6
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index fd9e43d..8c59479 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+Wed Nov 28 15:36:13 2001 Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
2001-11-28 Hans-Peter Nilsson <hp@axis.com>
* config/cris/cris.c: Remove whitespace at end of line.
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)