Sujet : Re: Good hash for pointers
De : Keith.S.Thompson+u (at) *nospam* gmail.com (Keith Thompson)
Groupes : comp.lang.cDate : 19. Jun 2024, 01:17:30
Autres entêtes
Organisation : None to speak of
Message-ID : <8734p9zsyt.fsf@nosuchdomain.example.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
James Kuyper <
jameskuyper@alumni.caltech.edu> writes:
Tim Rentsch <tr.17687@z991.linuxsc.com> writes:
[...]
Personally I would be surprised if someone used "ANSI C" to
mean anything other than C89/C90,
>
I would expect the term to be used almost exclusively by people who
incorrectly think that it means C89. Since it became an ISO standard
with C90, few people who care about the latest version of the C standard
worry about the parallel ANSI standard. Most people never got into the
habit of using "ISO C" to mean specifically C90, so they didn't need to
break that habit when it was superseded by C99.
I mostly agree, except that I might argue that the meaning of a
phrase can be defined by common usage.
**This is a very minor nitpick.**
In a more formal context, a "string literal" is not a literal whose
value is necessarily a string. We can't infer the meaning of a
defined phrase from the meanings of its consituent words.
"ANSI C" is defined by informal common usage to mean C89 (that was
the more formal meaning as of 1989, but common usage has evolved).
It's unfortunate that the obvious meaning of the phrase based
on its constituent words is very different, currently C17.
But practically nobody refers to C17 as "ANSI C"; if anything,
it's more appropriately called "ISO C".
If I see "ANSI C", I can be *almost* certain that it refers to
C89/C90 (the same language specified by two different documents).
But if I want to talk about the C89 or C90 standard, I'll use "C89"
or "C90", and if I want to talk about the language they define,
I might use both.
gcc's "-ansi" option was introduced when "ANSI C" was a correct and
reasonable name for C89/C90. There are too many existing scripts
to allow changing it now.
English am difficult.
-- Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.comvoid Void(void) { Void(); } /* The recursive call of the void */