aboutsummaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/varasm.c8
2 files changed, 8 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 36a1b60..d103a85 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+Tue Sep 9 15:36:28 CEST 2003 Jan Hubicka <jh@suse.cz>
+
+ * varasm.c (notice_global_symbol): Properly deal with weak symbols.
+
2003-09-08 Kelley Cook <kelleycook@wideopenwest.com>
* Makefile.in: Revert yesterday's change.
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;