|
From: | Paul Eggert |
Subject: | Re: How can Autoconf help with the transition to stricter compilation defaults? |
Date: | Sat, 12 Nov 2022 14:55:08 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 |
On 2022-11-12 06:09, Zack Weinberg wrote:
Formerly the Autoconf documentation was inconsistent. In the rest of the world people typically write "C89", "C99", "C11", "C17" and "C23" so I went with that even though (as you suggest) it will be problematic after the year 2088, assuming C is still being standardized after that. I'd be happy to change them to "C1989" etc. if preferred. I don't want to use the official names; for example, the official name for C17 is "ISO/IEC 9899:2018" which is far too long, and it doesn't say "C", and it uses the "wrong" year number.- and ‘false’ work anyway. This is for compatibility with C 2023 and + and ‘false’ work anyway. This is for compatibility with C23 andWhy are you changing four-digit years to two-digit years?
All other headers, including all headers from later revisions of the C standard, need to be tested for +if your program is intended to be portable to C89 (@pxref{Header Files}).I don’t understand what this addition is supposed to mean. Not all “modern” systems supply all of the C99 headers, even now.
The intent was that if you don't care about C89 any more (which many people don't), you needn't worry about checking for headers like <stdbool.h> that C99 requires even for freestanding compilers.
Perhaps something like the attached patch?
-The C standard says a call @code{malloc (0)} is implementation +The C standard says a successful call @code{malloc (0)} is implementation dependent. It can return either @code{NULL} or a new non-null pointer.Style nit: how can a _call_ be implementation dependent? Suggest something like “The C standard says that _the result of_ a successful call _to_ @code{malloc (0)} is implementation dependent.” (underscores just to mark additions, not part of suggested text)
That's wordy, and similar wording is repeated elsewhere. How about changing it from "a call malloc (0)" to simply "malloc (0)", and similarly elsewhere? The shorter string is pretty clear in context.
autoconf-man.diff
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |