On Sat, Sep 3, 2011 at 11:24 AM, Eric Botcazou <ebotca...@adacore.com> wrote:
>> Well, even when sign-extended there is a constant you can't negate
>> without overflow.  I would start digging for a testcase with
>> such case - but as said, testcases involving TYPE_IS_SIZETYPE are
>> very hard to generate for me.
>
> We run thousands of Ada tests every night on many platforms and never detected
> a problem here, so finding a testcase with the unpatched compiler is probably
> very hard - if there is really something to be found, which I doubt.

Well, for real-world code I believe that.  But see all the recent testcases
for corner-cases of our signed-overflow stuff, they all require hand-crafted
testcases involving INT_MIN, no inlining and even -ftrapv.  What I meant to
say is, given Ada can construct arbitrary layouted types it should be possible
to have testcases for all the corner-cases - after all you cannot have both,
undefined overflow and wrapping overflow, at the same time.  That
extract_muldiv_1
code is wrong for TYPE_OVERFLOW_UNDEFINED types as well, btw.

>> Well, but I'd expect you can have a set of Ada types, a function that
>> returns just its size and some scan-tree-dumps that check those sizes
>> are folded to a constant.  Or to just N statements.
>
> We probably should, but we don't have them (yet).  Like for the vast majority
> of the transformations made by the folder I guess, so...
>
>> If you insist I can revert the patch and apply it together with the
>> sign-extension change.
>
> Yes, IMHO it should be part of the final patch.

Ok, I'll revert it on monday.

Richard.

> --
> Eric Botcazou
>

Reply via email to