aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-11-18 00:37:15 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-11-18 00:37:15 -0800
commitbeb0c2e0ca4c1abdc0124c1e64d1bf841b0122af (patch)
treef220e20e20e38ae4d025377c93364747410ac5a3 /gcc
parent2934246345f8f64dfcf01a9ea79e3bb1279c877c (diff)
downloadgcc-beb0c2e0ca4c1abdc0124c1e64d1bf841b0122af.zip
gcc-beb0c2e0ca4c1abdc0124c1e64d1bf841b0122af.tar.gz
gcc-beb0c2e0ca4c1abdc0124c1e64d1bf841b0122af.tar.bz2
expr.c (expand_expr): Don't look through constant arrays if they don't bind locally.
* expr.c (expand_expr): Don't look through constant arrays if they don't bind locally. From-SVN: r73698
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)
{