On 14 January 2016 at 12:44, Paolo Bonzini <[email protected]> wrote: > On 14/01/2016 12:15, Peter Maydell wrote: >> Not that I saw -- ping again, Paolo. This is the only warning >> that clang's sanitizer currently produces for me, and arithmetic >> overflows on addition seem genuinely worth investigation... > > It happens when the range is 2^64 in size. > > Does it still matter if we've decided to use -fwrapv because of left > shifts? Or are we still considering the possibility to use -std=gnu89 > (where left shifts give unspecified behavior rather than undefined)?
I think we agreed that we wanted signed shift behaviour if we could get it, but this is all addition. The code looks a bit odd to me anyway -- the Range type specifies ranges within a 64-bit address space and thus an unsigned start and end point, but the code in string-output-visitor.c is specifically using and feeding in signed values for the start and end. thanks -- PMM
