There are two separate issues here:Matt Austern <austern@google.com> writes:
| On Fri, Oct 25, 2013 at 10:31 AM, Jeffrey Yasskin <jyasskin@google.com> wrote:
|
|
|
| Richard explicitly asked whether any such C++ users exist or are
| likely to exist in the future, and nobody's come up with any examples.
| So we appear to have a choice between helping some theoretical people
| or helping some actual people. (We help the actual people by telling
| them what to expect in the standard, while now they have to test and
| hope they find the right subset of undefined or implementation-defined
| behavior that's actually guaranteed to work.)
|
|
| It's actually a little worse than that. Testing can reveal what your
| implementation does today, with your particular input, with one set
| of compiler flags. No amount of testing can reveal what guarantees
| your implementation makes.
(1) whether we want C++ to continue to support non-two's complement
binary representation
(2) what we want to say about overflowing shift arithmetic
Requirint two's complement does not necessarily solve (2). And solving
(2) does not necessarily imply "no" to (1).