On 26/11/2015 11:56, Peter Maydell wrote: > On 26 November 2015 at 10:40, Paolo Bonzini <pbonz...@redhat.com> wrote: >> >> >> On 26/11/2015 10:46, Peter Maydell wrote: >>> I definitely don't think we should apply the -fwrapv patch yet; >>> would you mind respinning this pullrequest without it? >> >> In what way does that patch make that thing worse? > > It makes a claim about the semantics that the compiler > guarantees us which isn't currently valid. (Or > alternatively, it's implicitly claiming that clang isn't > a supported compiler, which isn't true.) I don't think > we should document or rely on signed-shift semantics
But we are relying on them, and thus we should document them. Witness the number of patches fixing so called "undefined" behavior. And those patches are _dangerous_. I can certainly remove the "as documented by the GCC manual" part and the -fwrapv setting, but silencing -Wshift-negative-value and documenting what we rely on should go in. Paolo > until we have the relevant documented promises from the > compiler developers that that is what they are providing. > (I'm happy that the gcc folks have provided those promises, they > just need to actually document them in the -fwrapv option > docs. The clang folks haven't replied yet so we don't know.)