• Reduced Translation Limit in C2x N2912 Working Draft

    From arnab chatterjee@21:1/5 to All on Sun Jul 3 03:30:06 2022
    Hello all,

    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)?

    Regards,
    cHaR.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Keith Thompson@21:1/5 to arnab chatterjee on Sun Jul 3 12:38:57 2022
    arnab chatterjee <arnabchatterjeeofficial@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.Thompson+u@gmail.com
    Working, but not speaking, for Philips
    void Void(void) { Void(); } /* The recursive call of the void */

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From arnab chatterjee@21:1/5 to Keith Thompson on Sun Jul 3 17:00:14 2022
    On Monday, July 4, 2022 at 1:09:04 AM UTC+5:30, Keith Thompson wrote:
    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 */

    Thanks for the clarification.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)