qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH for 2.5] QEMU does not care about left shifts of


From: Peter Maydell
Subject: Re: [Qemu-devel] [PATCH for 2.5] QEMU does not care about left shifts of signed negative values
Date: Tue, 17 Nov 2015 12:04:38 +0000

On 17 November 2015 at 11:59, Markus Armbruster <address@hidden> wrote:
> Laszlo Ersek <address@hidden> writes:
>
>> On 11/17/15 11:28, Paolo Bonzini wrote:
>>>
>>>
>>> On 17/11/2015 11:19, Peter Maydell wrote:
>>>> I think we should only take this patch if you can get a cast-iron
>>>> guarantee from both clang and gcc that they will never use this
>>>> UB to drive optimizations. As you say gcc already say this more or
>>>> less, but clang doesn't, and if they're warning about it that to
>>>> me suggests that they will feel freer to rely on the UB in future.
>>>
>>> If and when this happens we will add "-fno-strict-overflow" for clang,
>>> just like we are using "-fno-strict-aliasing" already.
>>
>> How about adding "-fwrapv -fno-strict-overflow" right now? (Spelling out
>> the latter of those explicitly for pointer arithmetic.)
>
> One of them, not both.
>
> Quote gcc manual:
>
>     Using -fwrapv means that integer signed overflow is fully defined:
>     it wraps.  When -fwrapv is used, there is no difference between
>     -fstrict-overflow and -fno-strict-overflow for integers.

I thought this too, but note that it says "for integers". As Laszlo
says, the reason to provide both is to get the -fno-strict-overflow
behaviour for pointer arithmetic, which is not affected by -fwrapv.

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]