On Mon, 5 Nov 2018, Jan Hubicka wrote: > Hi, > this patch reset some of frontend langhooks that I think should be > completely handled by middle-end now. I will also make patch to rewrite > set_assembler_name in some way that is safe, the comment bellow > the hunk added is bit oversimplified because we do add external > symbols (such as ctors and dtors or profile stuff). > > The patch fixed the ICE in var_mod_type_p with obj-c++. The other > hooks was changed more as a pre-cauntion. We want to detach FE > as much as possible from middle-end. > > lto-Bootstrapped/regtested x86_64-linux, OK?
OK. I wonder if we can do some of this resetting unconditionally. Richard. > Honza > > * tree.c (free_lang_data): Reset overwite_assembler_name, > print_xnode, print_decl, print_type and print_identifier of > langhooks. > Index: tree.c > =================================================================== > --- tree.c (revision 265807) > +++ tree.c (working copy) > @@ -6010,6 +6016,13 @@ free_lang_data (void) > lang_hooks.dwarf_name = lhd_dwarf_name; > lang_hooks.decl_printable_name = gimple_decl_printable_name; > lang_hooks.gimplify_expr = lhd_gimplify_expr; > + lang_hooks.overwrite_decl_assembler_name = > lhd_overwrite_decl_assembler_name; > + lang_hooks.print_xnode = lhd_print_tree_nothing; > + lang_hooks.print_decl = lhd_print_tree_nothing; > + lang_hooks.print_type = lhd_print_tree_nothing; > + lang_hooks.print_identifier = lhd_print_tree_nothing; > + > + lang_hooks.tree_inlining.var_mod_type_p = hook_bool_tree_tree_false; > > /* We do not want the default decl_assembler_name implementation, > rather if we have fixed everything we want a wrapper around it > > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)