This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Symbol table 21/many: analyze initializers of external vars


> > + 2012-05-17 ?Jan Hubicka ?<jh@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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]