Path: csiph.com!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: Keith Thompson Newsgroups: comp.lang.c Subject: Re: size_t vs long. Date: Sat, 19 Nov 2022 13:27:17 -0800 Organization: None to speak of Lines: 65 Message-ID: <875yfamy8a.fsf@nosuchdomain.example.com> References: <5a71fdad-b7d6-4b4a-a3ee-c5a9beb75d28n@googlegroups.com> <20221117011851.690@kylheku.com> <02eee7cc-6d03-420f-adf6-d7b87592fe38n@googlegroups.com> <2b19488a-2675-4dfd-9de8-11720bb222a7n@googlegroups.com> <86edtzc8fc.fsf@linuxsc.com> <861qpyddfd.fsf@linuxsc.com> MIME-Version: 1.0 Content-Type: text/plain Injection-Info: reader01.eternal-september.org; posting-host="075f2410484e6a6c436f9e353d8530c7"; logging-data="3479163"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19My8ZOWKn4pbknxFwj7oRV" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) Cancel-Lock: sha1:W1d2pPStOPMN5tGz5WUhDi3QqwY= sha1:VsII/0SggUjJraoeBYAUGNBeM5M= Xref: csiph.com comp.lang.c:168295 Tim Rentsch writes: > Richard Damon writes: >> On 11/19/22 9:42 AM, Tim Rentsch wrote: >>> James Kuyper writes: >>>> C89 was a US standard. It got taken over by ISO, which released >>>> almost exactly the same text as C90. They added 3 sections at the >>>> beginning of the standard to meet ISO requirements, which resulted >>>> in every section number after that being increased by 3 (which >>>> means every single cross-reference had to be updated, too), but it >>>> was otherwise almost identical. [...] >>> >>> For the most part the ISO (C90) standard uses exactly the same >>> wording that was used in the ANSI (C89) standard (ignoring >>> differences in numbering, like you say). In places though there >>> are some non-trivial changes. >> >> My understanding was that, execpt for the early "boiler-plate" section >> added near the beginning which causes the numbering difference, the >> rest of the content was adopted verbatim. > > My observation is this. I have a copy of ansi.c.txt, which is > supposed to be a text-based copy of the ANSI C standard (and > presumably after the ANSI C standard was ratified). Perusing > that document from time to time, and occasionally going back and > forth between that and the first ISO C document, I happened to > see passages in places that were different between the ANSI > document and the ISO document. Indeed most of the text in the > two documents is word-for-word identical, which made the few > instances where there were discrepancies stand out rather > vividly. Unfortunately I remember the fact of there being > differences but not where they are specifically. But I am quite > sure that I observed some differences in the wordings of the two > documents. Assuming you have the same ansi.c.txt that I have, I believe it's a pre-release draft of the 1989 ANSI C standard. The first paragraph is: (This foreword is not a part of American National Standard for Information Systems --- Programming Language C, X3.???-1988.) The "???" and the 1988 date suggest to me that it had not yet been finalized. My original source for the file was http://flash-gordon.me.uk/ansi.c.txt but it's no longer there -- but a Google search indicates that there are copies elsewhere. I speculate that that explains any differences between ansi.c.txt and the ISO C90 standard. If you can find any specific differences, and if someone out there has a copy of the published 1989 ANSI C standard (I don't), perhaps we can clear this up. I have a copy of Schildt's very bad book "The Annotated ANSI C Standard", which has the text of the standard on every other page, but I think it actually uses the 1990 ISO C standard, so it would not be useful for this exercise -- and I can't find my copy anyway. Background: https://www.lysator.liu.se/c/schildt.html -- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com Working, but not speaking, for XCOM Labs void Void(void) { Void(); } /* The recursive call of the void */