> On 19 Jul 2018, at 14:13, Joseph Myers <j...@polyomino.org.uk> wrote: > > On Thu, 19 Jul 2018, Joerg Schilling wrote: > >> Since the C++ people already think about making this to happen in ther next >> standard, it seems that the C compilers may do something similar in the >> future. > > The latest version of the C++ proposal > <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0907r3.html> is > clear that it does not change undefined overflow (while adding the new > constraint to representations to reflect more or less universal existing > practice in that regard). I quote: > > Status-quo If a signed operation would naturally produce a value that > is not within the range of the result type, the behavior is undefined. > The author had hoped to make this well-defined as wrapping (the > operations produce the same value bits as for the corresponding > unsigned type), but WG21 had strong resistance against this.
Is this true for the int<N>_t types, which require 2's complement? The uint<N>_t types are required to compute modulo 2^N I recall, so it would seem that CPUs that support those also use those for the former but with a different interpretation in the set of integers.