Issue 1796: Is all-bits-zero for null characters a meaningful requirement? (original) (raw)
Title
Is all-bits-zero for null characters a meaningful requirement?
Status
cd4
Section
5.3.1 [lex.charset]
Submitter
Tony van Eerd
Created on 2013-10-02.00:00:00 last changed 107 months ago
Messages
Date: 2014-11-15.00:00:00
[Moved to DR at the November, 2014 meeting.]
Date: 2014-02-15.00:00:00
Proposed resolution (February, 2014):
Change 5.3.1 [lex.charset] paragraph 3 as follows:
The basic execution character set and the basic execution wide-character set shall each contain all the members of the basic source character set, plus control characters representing alert, backspace, and carriage return, plus a null character(respectively, null wide character), whose
representation has all zero bitsvalue is 0. For each basic execution character set...
Date: 2014-03-03.00:00:00
According to 5.3.1 [lex.charset] paragraph 3,
The basic execution character set and the basic execution wide-character set shall each contain all the members of the basic source character set, plus control characters representing alert, backspace, and carriage return, plus a_null character_ (respectively, null wide character), whose representation has all zero bits.
It is not clear that a portable program can examine the bits of the representation; instead, it would appear to be limited to examining the bits of the numbers corresponding to the value representation (6.9.2 [basic.fundamental] paragraph 1). It might be more appropriate to require that the null character value compare equal to 0 or '\0' rather than specifying the bit pattern of the representation.
There is a similar issue for the definition of shift, bitwiseand, and bitwise or operators: are those specifications constraints on the bit pattern of the representation or on the values resulting from the interpretation of those patterns as numbers?
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2017-02-06 00:00:00 | admin | set | status: drwp -> cd4 |
| 2015-05-25 00:00:00 | admin | set | status: dr -> drwp |
| 2015-04-13 00:00:00 | admin | set | messages: + |
| 2014-11-24 00:00:00 | admin | set | status: ready -> dr |
| 2014-03-03 00:00:00 | admin | set | messages: + |
| 2014-03-03 00:00:00 | admin | set | status: open -> ready |
| 2013-10-02 00:00:00 | admin | create |
