On 17/11/2015 19:41, Markus Armbruster wrote:
> Peter Maydell <peter.mayd...@linaro.org> writes:
> 
>> On 17 November 2015 at 18:21, Paolo Bonzini <pbonz...@redhat.com> wrote:
>>>
>>>
>>> On 17/11/2015 19:19, Peter Maydell wrote:
>>>> That doesn't seem like more than half-good news to me. In particular,
>>>> if ubsan is still diagnosing these cases and they're still a
>>>> problem in some constant expressions
>>>
>>> Constant expressions are standardese for e.g.
>>>
>>> static int x = 1 << 31;
>>>
>>> It doesn't mean _all_ constants, and the warning only triggers with
>>> -pedantic.
>>
>> But if "-fwrapv" means "this dialect of C makes shifts of
>> negative numbers well defined and OK" then "-1 << 31"
>> should be fine and should not provoke a warning (whether in
>> a constant expression or not). If that's not what -fwrapv means,
>> then we shouldn't be using it as if it did.
> 
> A warning doesn't necessarily mean "this isn't well-defined".  It could
> also mean "this might not be portable", or "we think your code is ugly".
> Inferring semantics from warnings is shaky business.  Instead, let's ask
> the maintainers of gcc to clarify the meaning of -fwrapv.

But again, we're not getting any warning in the first place.

Paolo

Reply via email to