re PR middle-end/46510 (r166812 breaks bootstrap on x86_64-apple-darwin10)

PR target/46510
	* tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not
	finalize external decls.

Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.ft>

From-SVN: r167014
This commit is contained in:
Jan Hubicka 2010-11-22 00:02:15 +01:00 committed by Jan Hubicka
parent 091f0901de
commit 1c79934206
2 changed files with 19 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2010-11-21 Jan Hubicka <jh@suse.cz>
Dominique d'Humieres <dominiq@lps.ens.ft>
PR target/46510
* tree-emutls.c (get_emutls_init_templ_addr, new_emutls_decl): Do not
finalize external decls.
2010-11-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR target/9468

View file

@ -257,7 +257,12 @@ get_emutls_init_templ_addr (tree decl)
targetm.emutls.tmpl_section);
}
varpool_finalize_decl (to);
/* Create varpool node for the new variable and finalize it if it is
not external one. */
if (DECL_EXTERNAL (to))
varpool_node (to);
else
varpool_finalize_decl (to);
return build_fold_addr_expr (to);
}
@ -324,7 +329,12 @@ new_emutls_decl (tree decl)
record_references_in_initializer (to, false);
}
varpool_finalize_decl (to);
/* Create varpool node for the new variable and finalize it if it is
not external one. */
if (DECL_EXTERNAL (to))
varpool_node (to);
else
varpool_finalize_decl (to);
return to;
}