diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/varasm.c | 13 |
2 files changed, 13 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index db752b2..6199994 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Wed Jun 25 11:31:59 CEST 2003 Jan Hubicka <jh@suse.cz> + + * varasm.c (assemble_name): Mark needed variables even when + global info is ready. + 2003-06-24 Jerry Quinn <jlquinn@optonline.net> PR other/11280 diff --git a/gcc/varasm.c b/gcc/varasm.c index 73abd5e..c2bd4b3 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -1747,14 +1747,17 @@ assemble_name (file, name) id = maybe_get_identifier (real_name); if (id) { - if (!TREE_SYMBOL_REFERENCED (id) - && !cgraph_global_info_ready) + if (!TREE_SYMBOL_REFERENCED (id)) { - struct cgraph_node *node = cgraph_node_for_identifier (id); + struct cgraph_node *node; struct cgraph_varpool_node *vnode; - if (node) - cgraph_mark_needed_node (node, 1); + if (!cgraph_global_info_ready) + { + node = cgraph_node_for_identifier (id); + if (node) + cgraph_mark_needed_node (node, 1); + } vnode = cgraph_varpool_node_for_identifier (id); if (vnode) |