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. Richard.