https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65475
--- Comment #8 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Author: hubicka Date: Mon Mar 23 00:17:07 2015 New Revision: 221582 URL: https://gcc.gnu.org/viewcvs?rev=221582&root=gcc&view=rev Log: PR ipa/65475 * ipa-devirt.c: Include demangle.h (odr_type_d): Add field rtti_broken. (odr_subtypes_equivalent_p): Do not require name to match. (compare_virtual_tables): Fix typo; if type already has ODR violation, bypass the tests; be ready for function referneces in vtables that are not DECL_VIRTUAL; make warnings to be OPT_Wodr. (warn_odr): Give up for nameless types. (warn_types_mismatch): Report mismatch in mangled names; report mismatch in anonymous namespaces; look into component types to give useful error; report when mismatch is dragged in from other ODR type. (odr_types_equivalent_p): Match types for being polymorphic; avoid duplicated diagnostics. (add_type_duplicate): Reorder checks so more informative ones come first; fix typo; do not output "the extra base is defined here" when we did not warn. (BINFO_N_BASE_BINFOS): Relax sanity check. * g++.dg/lto/pr65475b_0.C: New testcase. * g++.dg/lto/pr65475b_1.C: New testcase. * g++.dg/lto/pr65475c_0.C: New testcase. * g++.dg/lto/pr65475c_1.C: New testcase. Added: trunk/gcc/testsuite/g++.dg/lto/pr65475b_0.C trunk/gcc/testsuite/g++.dg/lto/pr65475b_1.C trunk/gcc/testsuite/g++.dg/lto/pr65475c_0.C trunk/gcc/testsuite/g++.dg/lto/pr65475c_1.C Modified: trunk/gcc/ChangeLog trunk/gcc/ipa-devirt.c trunk/gcc/testsuite/ChangeLog