diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/expr.c | 3 |
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 @@ -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) { |