aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-09-09 15:37:17 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2003-09-09 13:37:17 +0000
commitf09859008013c74a6b5d2530232216a3965278d3 (patch)
treed18ab507fda23d4d66d8a78b2deae911917f9daa /gcc/varasm.c
parent94fd51760ca477cf104eadfe466ce86ab9472696 (diff)
downloadgcc-f09859008013c74a6b5d2530232216a3965278d3.zip
gcc-f09859008013c74a6b5d2530232216a3965278d3.tar.gz
gcc-f09859008013c74a6b5d2530232216a3965278d3.tar.bz2
* varasm.c (notice_global_symbol): Properly deal with weak symbols.
From-SVN: r71236
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 84fbf25..d7c6068 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -1048,11 +1048,11 @@ void
notice_global_symbol (tree decl)
{
if ((!first_global_object_name || !weak_global_object_name)
- && TREE_PUBLIC (decl)
+ && TREE_PUBLIC (decl) && !DECL_COMMON (decl)
&& (TREE_CODE (decl) == FUNCTION_DECL
- || ! (DECL_COMMON (decl)
- && (DECL_INITIAL (decl) == 0
- || DECL_INITIAL (decl) == error_mark_node))))
+ || (TREE_CODE (decl) == VAR_DECL
+ && (DECL_INITIAL (decl) != 0
+ && DECL_INITIAL (decl) != error_mark_node))))
{
const char *p;
char *name;