In section 5.4.2.1 (Translation limits) of the latest C2x working
draft (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2912.pdf) it
says that the minimum upper limit on the number of bytes in an object
is only 32767 (for hosted environments). However, since C89 this limit
has always been 65535 (even for previous working drafts of C2x).
Any reason/thoughts behind this silent change (or could this just be a
typo in the N2912 draft)?
arnab chatterjee <arnabchatte...@gmail.com> writes:
In section 5.4.2.1 (Translation limits) of the latest C2x working
draft (https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2912.pdf) it
says that the minimum upper limit on the number of bytes in an object
is only 32767 (for hosted environments). However, since C89 this limit
has always been 65535 (even for previous working drafts of C2x).
Any reason/thoughts behind this silent change (or could this just be a
typo in the N2912 draft)?
Correction: The limit in C90 was 32767 bytes, changed to 65535 in C99.
It appears to be a deliberate change.
The N2731 draft (2021-10-18) kept the limit of 65535 bytes. N2912 (2022-07-08) changed it to 32767.
This change appears to be in response to "N2808: allow 16-bit ptrdiff_t again", <https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2808.htm>.
--
Keith Thompson (The_Other_Keith) Keith.S.T...@gmail.com
Working, but not speaking, for Philips
void Void(void) { Void(); } /* The recursive call of the void */
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 379 |
Nodes: | 16 (2 / 14) |
Uptime: | 71:08:16 |
Calls: | 8,084 |
Calls today: | 2 |
Files: | 13,069 |
Messages: | 5,849,950 |