aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/expr.c3
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b089988..866cdc7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-11-18 Richard Henderson <rth@redhat.com>
+
+ * expr.c (expand_expr): Don't look through constant arrays if
+ they don't bind locally.
+
2003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
diff --git a/gcc/expr.c b/gcc/expr.c
index 2d4953f..320284c 100644
--- a/gcc/expr.c
+++ b/gcc/expr.c
@@ -6955,7 +6955,8 @@ expand_expr (tree exp, rtx target, enum machine_mode tmode,
&& modifier != EXPAND_MEMORY
&& TREE_READONLY (array) && ! TREE_SIDE_EFFECTS (array)
&& TREE_CODE (array) == VAR_DECL && DECL_INITIAL (array)
- && TREE_CODE (DECL_INITIAL (array)) != ERROR_MARK)
+ && TREE_CODE (DECL_INITIAL (array)) != ERROR_MARK
+ && targetm.binds_local_p (array))
{
if (TREE_CODE (index) == INTEGER_CST)
{