> On Fri, Feb 20, 2015 at 02:15:24PM +0100, Thomas Schwinge wrote: > > > * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating. > > > (compare_virtual_tables): Be smarter about skipping typeinfos; > > > do sane output on virtual table table mismatch. > > > (warn_odr): Be ready for forward declarations of enums; > > > output sane info on base mismatch and virtual table mismatch. > > > (add_type_duplicate): Fix code choosing prevailing type; do not ICE > > > when only one type is polymorphic. > > > (get_odr_type): Fix hashtable corruption. > > > (dump_odr_type): Dump mangled names. > > > > I find this commit, r220790, cause the following regression in an > > offloading-enabled configuration: > > I'd think that we shouldn't report ODR violations for types with > DECL_ARTIFICIAL (or just DECL_NAMELESS?) TYPE_DECLs. > Especially the DECL_NAMELESS ones have names just for debugging purposes.
Yes, I was considering to do the same because of warning on types of typeinfos on Firefox. Firefox links together -fsigned-char and -funsigned-char that is an ODR violation but reporting this about typeinfo itself is confusing. I will disable warning on those. Should it be DECL_ARTIFICIAL only or both flags? I am not really familiar about what types can be DECL_NAMELESS or DECL_ARTIFICIAL. Honza