summaryrefslogtreecommitdiff
path: root/gcc/expr.c
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-18 08:37:15 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-11-18 08:37:15 +0000
commit3a855a537cd9d7ea6204ad3c2a39fff9e3e2b0ca (patch)
treef220e20e20e38ae4d025377c93364747410ac5a3 /gcc/expr.c
parent82324c1058d49eba1a2fa88db013c46f0a1b55c3 (diff)
downloadgcc-3a855a537cd9d7ea6204ad3c2a39fff9e3e2b0ca.tar.gz
* expr.c (expand_expr): Don't look through constant arrays if
they don't bind locally. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73698 138bc75d-0d04-0410-961f-82ee72b054a4
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 2d4953f8b14..320284c99ff 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)
{