This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Type comparing TLC
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Ilya Verbin <iverbin at gmail dot com>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, Jakub Jelinek <jakub at redhat dot com>, Thomas Schwinge <thomas at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Tue, 10 Mar 2015 19:12:29 +0100
- Subject: Re: Type comparing TLC
- Authentication-results: sourceware.org; auth=none
- References: <20150218161708 dot GD20180 at kam dot mff dot cuni dot cz> <874mqgd8r7 dot fsf at kepler dot schwinge dot homeip dot net> <20150220132758 dot GA1746 at tucnak dot redhat dot com> <20150220184903 dot GG21632 at kam dot mff dot cuni dot cz> <20150310123755 dot GA37666 at msticlxl57 dot ims dot intel dot com>
> 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