On Mon, 2006-02-20 at 23:00 +0100, Richard Guenther wrote:
> On 2/20/06, Richard Kenner <[EMAIL PROTECTED]> 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


Reply via email to