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)

Reply via email to