This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Ada subtypes and base types (was: Bootstrap failure on trunk: x86_64-linux-gnu)
On Mon, 2006-02-20 at 23:00 +0100, Richard Guenther wrote:
> On 2/20/06, Richard Kenner <kenner@vlsi1.ultra.nyu.edu> wrote:
> > Indeed. Ada should in this case generate
> >
> > R = (T)( (basetype)100 + (basetype)X - (basetype)X )
> >
> > i.e. carry out all arithmetic explicitly in the basetype and only for
> > stores and loads use the subtype.
> >
> > That is indeed required by the language and what is normally generated.
> > It would be valuable to see exactly who generated the bogus operation.
> >
>
> Indeed - I can very well imagine fold or ccp stripping off such type conversions
> in some case, which would lead to wrong code by VRP.
Again, so can I, so it's a concern. However, I'm pretty sure that's
not what's happening here. If you disable the code to strip away
useless type conversions you still get the same problem.
jeff