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