Silence merge warnings on artiical types

Richard Biener rguenther@suse.de
Mon Mar 30 08:30:00 GMT 2015


On Mon, 30 Mar 2015, Jan Hubicka wrote:

> Hi,
> when compiling C++ program that define different number of virtual method
> in different classes, we output warnings about their virtual tables
> being of different type. THese warnings looks ugly and we are able
> to diagnose the situation in more sensible way.
> 
> This patch simply silences all warnings on artificial decls.
> 
> Bootstrapped/regtested x86_64-linux OK?

Hum...  but do ODR warnings cover all other cases here?  Well,
the warnings won't be useful to users I suppose.

Thus, ok.

Thanks,
Richard.

> Honza
> 
> 	* lto-symtab.c (lto_symtab_merge_decls_2): Silence warnings on
> 	artificial decls.
> Index: lto/lto-symtab.c
> ===================================================================
> --- lto/lto-symtab.c	(revision 221757)
> +++ lto/lto-symtab.c	(working copy)
> @@ -473,7 +473,8 @@ lto_symtab_merge_decls_2 (symtab_node *f
>      if (TREE_PUBLIC (e->decl))
>        {
>  	if (!lto_symtab_merge (prevailing, e)
> -	    && !diagnosed_p)
> +	    && !diagnosed_p
> +	    && !DECL_ARTIFICIAL (e->decl))
>  	  mismatches.safe_push (e->decl);
>        }
>    if (mismatches.is_empty ())
> 
> 

-- 
Richard Biener <rguenther@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Jennifer Guild,
Dilip Upmanyu, Graham Norton HRB 21284 (AG Nuernberg)



More information about the Gcc-patches mailing list