aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2008-07-13 12:06:19 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2008-07-13 10:06:19 +0000
commit266ad5c82612749d080ab25f67a677c89b344567 (patch)
tree1ee8898b82ca9a88353189796c35234da2da21d2 /gcc/varasm.c
parent52ca125521c3e1d5b9fff7e3710ccbfdd3b2d797 (diff)
downloadgcc-266ad5c82612749d080ab25f67a677c89b344567.zip
gcc-266ad5c82612749d080ab25f67a677c89b344567.tar.gz
gcc-266ad5c82612749d080ab25f67a677c89b344567.tar.bz2
cgraph.c (assembler_name_hash): New static var.
* cgraph.c (assembler_name_hash): New static var. (hash_node_by_assembler_name, eq_assembler_name): New. (cgraph_node_for_asm): Use hashtable. (cgraph_remove_node): Maintain hashtable. (change_decl_assembler_name): Sanity check that names are not changing after aliasing was processed. * cgraph.h (varpoon_node): Add next GGC marker. * tree.c (decl_assembler_name_equal): Constify. (decl_assembler_name_hash): New. * tree.h (decl_assembler_name_equal): Constify. (decl_assembler_name_hash): Update. From-SVN: r137753
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index d8c6114..49cdda4 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -5380,7 +5380,10 @@ assemble_alias (tree decl, tree target)
/* If the target has already been emitted, we don't have to queue the
alias. This saves a tad of memory. */
- target_decl = find_decl_and_mark_needed (decl, target);
+ if (!flag_unit_at_a_time || cgraph_global_info_ready)
+ target_decl = find_decl_and_mark_needed (decl, target);
+ else
+ target_decl= NULL;
if (target_decl && TREE_ASM_WRITTEN (target_decl))
do_assemble_alias (decl, target);
else