http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45721
--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> 2011-01-11 17:29:57 UTC --- Author: hubicka Date: Tue Jan 11 17:29:52 2011 New Revision: 168666 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=168666 Log: PR lto/45721 PR lto/45375 * tree.h (symbol_alias_set_t): Move typedef here from varasm.c (symbol_alias_set_destroy, symbol_alias_set_contains, propagate_aliases_backward): Declare. * lto-streamer-out.c (struct sets): New sturcture. (trivally_defined_alias): New function. (output_alias_pair_p): Rewrite. (output_unreferenced_globals): Fix output of alias pairs. (produce_symtab): Likewise. * ipa.c (function_and_variable_visibility): Set weak alias destination as needed in lto. * varasm.c (symbol_alias_set_t): Remove. (symbol_alias_set_destroy): Export. (propagate_aliases_forward, propagate_aliases_backward): New functions based on ... (compute_visible_aliases): ... this one; remove. (trivially_visible_alias): New (trivially_defined_alias): New. (remove_unreachable_alias_pairs): Rewrite. (finish_aliases_1): Reorganize code checking if alias is defined. * passes.c (rest_of_decl_compilation): Do not call assemble_alias when in LTO mode. * lto.c (partition_cgraph_node_p, partition_varpool_node_p): Weakrefs are not partitioned. * testsuite/gcc.dg/lto/pr45721_1.c: New file. * testsuite/gcc.dg/lto/pr45721_0.c: New file. Added: trunk/gcc/testsuite/gcc.dg/lto/pr45721_0.c trunk/gcc/testsuite/gcc.dg/lto/pr45721_1.c Modified: trunk/gcc/ChangeLog trunk/gcc/lto-streamer-out.c trunk/gcc/lto/ChangeLog trunk/gcc/lto/lto.c trunk/gcc/passes.c trunk/gcc/testsuite/ChangeLog trunk/gcc/tree.h trunk/gcc/varasm.c