On Tue, Jun 23, 2015 at 09:56:33AM +0200, Richard Biener wrote:
> > I think you're right about TYPE_SATURATING so I've dropped that and instead
> > replaced it with TYPE_OVERFLOW_TRAPS. That should do the right thing
> > together with TYPE_OVERFLOW_SANITIZED.
>
> Are you sure? The point is that if the minus or the plus in the original
> expression saturate the result isn't correct, no?
Yes, but I thought that TYPE_SATURATING is only true for fixed-point, i.e.
those _Accum/_Sat/_Fract (?), and you can't do bitwise & or | on them, which
means that the TYPE_SATURATING check wouldn't be necessary.
> As said, removing TYPE_SATURATING doesn't sound correct. I'm not sure
> about TYPE_OVERFLOW_TRAPS - we're certainly removing traps elsewhere
> (look for the scarce use of this flag in fold-const.c and match.pd
> where I only preserved those that were originally in fold-const.c).
>
> So, TYPE_OVERFLOW_TRAPS is your choice but TYPE_SATURATING is
> required IMHO.
Ok, I guess I'll add TYPE_SATURATING back, even though I'm not clear
on that one, and commit.
Thanks,
Marek