On December 4, 2014 7:37:32 PM CET, Marek Polacek wrote:
>On Thu, Dec 04, 2014 at 05:34:35PM +0100, Richard Biener wrote:
>> On December 4, 2014 4:45:25 PM CET, Marek Polacek
> wrote:
>> >The PR shows a case in which fold introduces undefined behavior in a
>> >valid program, because what it does h
On Thu, Dec 04, 2014 at 05:34:35PM +0100, Richard Biener wrote:
> On December 4, 2014 4:45:25 PM CET, Marek Polacek wrote:
> >The PR shows a case in which fold introduces undefined behavior in a
> >valid program, because what it does here is
> >-(long int) (ul + ULONG_MAX) - 1 ->
> >~(long int) (u
On December 4, 2014 4:45:25 PM CET, Marek Polacek wrote:
>The PR shows a case in which fold introduces undefined behavior in a
>valid program, because what it does here is
>-(long int) (ul + ULONG_MAX) - 1 ->
>~(long int) (ul + ULONG_MAX) ->
>-(long int) ul
>But the latter transformation is wrong
The PR shows a case in which fold introduces undefined behavior in a
valid program, because what it does here is
-(long int) (ul + ULONG_MAX) - 1 ->
~(long int) (ul + ULONG_MAX) ->
-(long int) ul
But the latter transformation is wrong if ul is unsigned long and equals
LONG_MAX + 1UL, because that i