This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Stream ODR types
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Richard Biener <rguenther at suse dot de>
- Cc: Jan Hubicka <hubicka at ucw dot cz>, gcc-patches at gcc dot gnu dot org, jason at redhat dot com
- Date: Fri, 12 Sep 2014 18:46:19 +0200
- Subject: Re: Stream ODR types
- Authentication-results: sourceware.org; auth=none
- References: <20140911070628 dot GA26027 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1409111003570 dot 20733 at zhemvz dot fhfr dot qr> <20140911165631 dot GB26027 at kam dot mff dot cuni dot cz> <alpine dot LSU dot 2 dot 11 dot 1409120938390 dot 20733 at zhemvz dot fhfr dot qr>
> > For ODR warnings and TBAA I think i want other types, too. But yep, we need to handle
> > gracefuly component types that does not have names and we could drop names of types
> > and handle them as component types as it seems fit.
> >
> > OK, so if you agree, I will go ahead with this patch and we can resolve these details
> > incrementally.
>
> Yes, but please disable !record type handing for now.
Bugzilla already has case where we report useful warning about union. I suppose
but unions and arrays would also make sense. I will test patch limiting for
records for now and lets see how much difference it makes (real world warnings
I saw was all class types IMO)
The confused uint8 warning was my local hack in the - if warning happened on
component type I went into type it was constructed from. The anonymous arrays
indeed have different size. Mainline just reports type difference without
giving reason and while analyzing strange reports on libreoffice I added this
hoping to get extra info. I suppose I should extent warning of type mismatch
to be able to report array size difference.
Note that uint8 mangling is same as char's (i.e. typedefs do not matter). So
stremaing those should not be terribly expensive, but we can probably just
establish equivalency by main variant as these ought to be reliably merged?
Honza
>
> Richard.