aboutsummaryrefslogtreecommitdiff
path: root/gcc/expr.c
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/expr.c
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/expr.c')
-rw-r--r--gcc/expr.c3
1 files changed, 2 insertions, 1 deletions
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)
{