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?
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 ())

Reply via email to