> Hi! > > On Fri, Feb 20, 2015 at 19:49:03 +0100, Jan Hubicka wrote: > > > 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. > > Any plans to fix this in GCC 5?
yes, only yesterday I got chromium LTO building up and running and it does produce some ODR warnings that are either confusing or wrong (among many correct ones). I plan to check them and fix these issues soon. Honza > > Thanks, > -- Ilya