Commit 923c7cdf by Richard Henderson Committed by Richard Henderson

varasm.c (default_binds_local_p): Check TREE_PUBLIC before DECL_EXTERNAL.

        * varasm.c (default_binds_local_p): Check TREE_PUBLIC before
        DECL_EXTERNAL.

From-SVN: r53963
parent f3ea5f6a
...@@ -6,6 +6,9 @@ ...@@ -6,6 +6,9 @@
invalidated_by_call. Initialize from regs_invalidated_by_call invalidated_by_call. Initialize from regs_invalidated_by_call
instead of call_used_regs. instead of call_used_regs.
* varasm.c (default_binds_local_p): Check TREE_PUBLIC before
DECL_EXTERNAL.
2002-05-28 Zack Weinberg <zack@codesourcery.com> 2002-05-28 Zack Weinberg <zack@codesourcery.com>
* tree.h: Forward-declare struct realvaluetype. * tree.h: Forward-declare struct realvaluetype.
......
...@@ -5597,7 +5597,10 @@ default_binds_local_p (exp) ...@@ -5597,7 +5597,10 @@ default_binds_local_p (exp)
/* A non-decl is an entry in the constant pool. */ /* A non-decl is an entry in the constant pool. */
if (!DECL_P (exp)) if (!DECL_P (exp))
local_p = true; local_p = true;
/* A variable is considered "local" if it is defined by this module. */ /* Static variables are always local. */
else if (! TREE_PUBLIC (exp))
local_p = true;
/* A variable is local if the user tells us so. */
else if (MODULE_LOCAL_P (exp)) else if (MODULE_LOCAL_P (exp))
local_p = true; local_p = true;
/* Otherwise, variables defined outside this object may not be local. */ /* Otherwise, variables defined outside this object may not be local. */
...@@ -5606,9 +5609,6 @@ default_binds_local_p (exp) ...@@ -5606,9 +5609,6 @@ default_binds_local_p (exp)
/* Linkonce and weak data are never local. */ /* Linkonce and weak data are never local. */
else if (DECL_ONE_ONLY (exp) || DECL_WEAK (exp)) else if (DECL_ONE_ONLY (exp) || DECL_WEAK (exp))
local_p = false; local_p = false;
/* Static variables are always local. */
else if (! TREE_PUBLIC (exp))
local_p = true;
/* If PIC, then assume that any global name can be overridden by /* If PIC, then assume that any global name can be overridden by
symbols resolved from other modules. */ symbols resolved from other modules. */
else if (flag_pic) else if (flag_pic)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment