> > + 2012-05-17 Jan Hubicka <j...@suse.cz> > > + > > + * lto-symtab.c (lto_symtab_resolve_symbols): Preffer decl with > > constructor > > + over decl without. > > + * cgraph.c (cgraph_remove_node): Clear also body of unanalyzed > > nodes. > > + * cgraph.h (varpool_can_remove_if_no_refs): Handle external > > correctly. > > + * cgraphunit.c (process_function_and_variable_attributes): Finalize > > + extrnal decls. > > + (mark_functions_to_output): Also accept bodies for functions with > > clones. > > + (output_in_order): Skip external vars. > > + * lto-cgraph.c (lto_output_node): External functions are never in > > other > > + partition. > > + (lto_output_varpool_node): Likewise. > > + * lto-streamer-out.c (lto_write_tree): Always use error_mark_nodes > > for > > + forgotten initializers. > > + * ipa.c (process_references): Handle external vars. > > + (symtab_remove_unreachable_nodes): Update to handle external vars. > > + (varpool_externally_visible_p): External vars are externally > > visible. > > + * gimple-fold.c (can_refer_decl_in_current_unit_p): Update. > > + * varpool.c (varpool_remove_node): Remove constructor. > > + (decide_is_variable_needed): Handle externals. > > + (varpool_remove_unreferenced_decls): Likewise. > > + > > This caused: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53428
This is unexpected. The patch should be generally no-op on non-C++ non-Ada code. I will double check. Thanks for tracking this down. Honza