Re: "A diagram of C23 basic types"

Liste des GroupesRevenir à cl c 
Sujet : Re: "A diagram of C23 basic types"
De : Keith.S.Thompson+u (at) *nospam* gmail.com (Keith Thompson)
Groupes : comp.lang.c
Date : 07. Apr 2025, 22:19:39
Autres entêtes
Organisation : None to speak of
Message-ID : <87a58rd5zo.fsf@nosuchdomain.example.com>
References : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-Agent : Gnus/5.13 (Gnus v5.13)
antispam@fricas.org (Waldek Hebisch) writes:
Keith Thompson <Keith.S.Thompson+u@gmail.com> wrote:
antispam@fricas.org (Waldek Hebisch) writes:
Tim Rentsch <tr.17687@z991.linuxsc.com> wrote:
[...]
Not always practical.  A good example is the type size_t.  If a
function takes an argument of type size_t, then the symbol size_t
should be defined, no matter which header the function is being
declared in.
>
Why?  One can use a type without a name for such type.
 
Convenience and existing practice.  Sure, an implementation of
<string.h> could provide a declaration of memcpy() without making
size_t visible, but what would be the point?
>
Cleanliness of definitions?  Consistency?  Fragment that you
replaced by [...] contained a proposal:
>
Every identifier should be declared in exactly one home header,
and no other header should provide that definition.
>
That would be pretty clean and consistent rule: if you need some
standard symbol, then you should include corresponding header.

That would break existing code, for example any code that includes
<string.h> and refers to the name "size_t" without include <stddef.h>

That's a tremendous barrier to overcome for the sake of some
slight theoretical cleanliness -- and it would be inconvenient
for programmers.

I'll note that the standard doesn't have a general rule that each
header must define all type names that it uses.  Instead, for each
header, it specifies what it must define.  The rationale for having
<string.h> define size_t is obviously that it declares functions
that use it, but a programmer can simply assume that <string.h>
defines size_t because the standard says it does.

If your proposal had been followed in 1989, I probably wouldn't
have much of a problem with it.  It's too late now.

All this confusion is the result of the fact that using parts of the
standard library by including header files (with include guards,
reserved identifiers as macros, and so on) is a rather ugly hack.
I would oppose tweaks to that hack that break existing code *unless*
there's an overall redesign that gives us something better (maybe
some kind of module system).  Of course any such redesign would
have to coexist with the existing hack.

--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */

Date Sujet#  Auteur
2 Apr 25 * "A diagram of C23 basic types"377Alexis
2 Apr 25 +* Re: "A diagram of C23 basic types"4Lawrence D'Oliveiro
3 Apr 25 i`* Re: "A diagram of C23 basic types"3BGB
3 Apr 25 i `* Re: "A diagram of C23 basic types"2Lawrence D'Oliveiro
4 Apr 25 i  `- Re: "A diagram of C23 basic types"1BGB
2 Apr 25 +* Re: "A diagram of C23 basic types"9Janis Papanagnou
2 Apr 25 i+* Re: "A diagram of C23 basic types"6Kaz Kylheku
3 Apr 25 ii`* Re: "A diagram of C23 basic types"5Janis Papanagnou
3 Apr 25 ii +* Re: "A diagram of C23 basic types"3David Brown
3 Apr 25 ii i`* Re: "A diagram of C23 basic types"2Janis Papanagnou
3 Apr 25 ii i `- Re: "A diagram of C23 basic types"1BGB
3 Apr 25 ii `- Re: "A diagram of C23 basic types"1BGB
2 Apr 25 i+- Re: "A diagram of C23 basic types"1David Brown
3 Apr 25 i`- Re: "A diagram of C23 basic types"1Tim Rentsch
2 Apr 25 +* Re: "A diagram of C23 basic types"353bart
2 Apr 25 i+* Re: "A diagram of C23 basic types"320Muttley
2 Apr 25 ii+* Re: "A diagram of C23 basic types"290David Brown
2 Apr 25 iii+* Re: "A diagram of C23 basic types"286Muttley
2 Apr 25 iiii+* Re: "A diagram of C23 basic types"207Thiago Adams
2 Apr 25 iiiii`* Re: "A diagram of C23 basic types"206Muttley
2 Apr 25 iiiii +* Re: "A diagram of C23 basic types"204bart
2 Apr 25 iiiii i+* Re: "A diagram of C23 basic types"61Muttley
2 Apr 25 iiiii ii+* Re: "A diagram of C23 basic types"5Janis Papanagnou
3 Apr 25 iiiii iii+* Re: "A diagram of C23 basic types"2Janis Papanagnou
3 Apr 25 iiiii iiii`- Re: "A diagram of C23 basic types"1Janis Papanagnou
3 Apr 25 iiiii iii`* Re: "A diagram of C23 basic types"2David Brown
3 Apr 25 iiiii iii `- Re: "A diagram of C23 basic types"1BGB
3 Apr 25 iiiii ii+* Re: "A diagram of C23 basic types"52bart
3 Apr 25 iiiii iii+* Re: "A diagram of C23 basic types"49Kaz Kylheku
3 Apr 25 iiiii iiii+* Re: "A diagram of C23 basic types"46Keith Thompson
3 Apr 25 iiiii iiiii+* Re: "A diagram of C23 basic types"44BGB
3 Apr 25 iiiii iiiiii`* Re: "A diagram of C23 basic types"43Kaz Kylheku
3 Apr 25 iiiii iiiiii +* Re: "A diagram of C23 basic types"39bart
4 Apr 25 iiiii iiiiii i+* Re: "A diagram of C23 basic types"34Lawrence D'Oliveiro
9 Apr 25 iiiii iiiiii ii`* Re: "A diagram of C23 basic types"33Michael S
9 Apr 25 iiiii iiiiii ii +* Re: "A diagram of C23 basic types"21David Brown
9 Apr 25 iiiii iiiiii ii i+* Re: "A diagram of C23 basic types"17BGB
9 Apr 25 iiiii iiiiii ii ii`* Re: "A diagram of C23 basic types"16bart
10 Apr 25 iiiii iiiiii ii ii `* Re: "A diagram of C23 basic types"15David Brown
10 Apr 25 iiiii iiiiii ii ii  +* Re: "A diagram of C23 basic types"5Michael S
12 Apr 25 iiiii iiiiii ii ii  i`* Re: "A diagram of C23 basic types"4Lawrence D'Oliveiro
12 Apr 25 iiiii iiiiii ii ii  i +- Re: "A diagram of C23 basic types"1James Kuyper
12 Apr 25 iiiii iiiiii ii ii  i `* Re: "A diagram of C23 basic types"2David Brown
12 Apr 25 iiiii iiiiii ii ii  i  `- Re: "A diagram of C23 basic types"1BGB
10 Apr 25 iiiii iiiiii ii ii  +* Re: "A diagram of C23 basic types"4Muttley
10 Apr 25 iiiii iiiiii ii ii  i`* Re: "A diagram of C23 basic types"3bart
10 Apr 25 iiiii iiiiii ii ii  i +- Re: "A diagram of C23 basic types"1Muttley
12 Apr 25 iiiii iiiiii ii ii  i `- Re: "A diagram of C23 basic types"1Lawrence D'Oliveiro
10 Apr 25 iiiii iiiiii ii ii  +* Re: "A diagram of C23 basic types"4bart
10 Apr 25 iiiii iiiiii ii ii  i`* Re: "A diagram of C23 basic types"3David Brown
10 Apr 25 iiiii iiiiii ii ii  i `* Re: "A diagram of C23 basic types"2bart
10 Apr 25 iiiii iiiiii ii ii  i  `- Re: "A diagram of C23 basic types"1David Brown
10 Apr 25 iiiii iiiiii ii ii  `- Re: "A diagram of C23 basic types"1BGB
9 Apr 25 iiiii iiiiii ii i`* Re: "A diagram of C23 basic types"3Keith Thompson
12 Apr 25 iiiii iiiiii ii i `* Re: "A diagram of C23 basic types"2Lawrence D'Oliveiro
12 Apr 25 iiiii iiiiii ii i  `- Re: "A diagram of C23 basic types"1Keith Thompson
9 Apr 25 iiiii iiiiii ii +* Re: "A diagram of C23 basic types"10Tim Rentsch
9 Apr 25 iiiii iiiiii ii i+* Re: "A diagram of C23 basic types"3Keith Thompson
14 Apr 25 iiiii iiiiii ii ii`* Re: "A diagram of C23 basic types"2Tim Rentsch
14 Apr 25 iiiii iiiiii ii ii `- Re: "A diagram of C23 basic types"1Keith Thompson
10 Apr 25 iiiii iiiiii ii i`* Re: "A diagram of C23 basic types"6Michael S
14 Apr 25 iiiii iiiiii ii i `* Re: "A diagram of C23 basic types"5Tim Rentsch
14 Apr 25 iiiii iiiiii ii i  `* Re: "A diagram of C23 basic types"4Michael S
6 May 25 iiiii iiiiii ii i   `* Re: "A diagram of C23 basic types"3Tim Rentsch
6 May 25 iiiii iiiiii ii i    `* Re: "A diagram of C23 basic types"2Michael S
8 May 25 iiiii iiiiii ii i     `- Re: "A diagram of C23 basic types"1Tim Rentsch
9 Apr 25 iiiii iiiiii ii `- Re: "A diagram of C23 basic types"1Kaz Kylheku
4 Apr 25 iiiii iiiiii i`* Re: "A diagram of C23 basic types"4Waldek Hebisch
4 Apr 25 iiiii iiiiii i +* Re: "A diagram of C23 basic types"2Keith Thompson
4 Apr 25 iiiii iiiiii i i`- Re: "A diagram of C23 basic types"1Waldek Hebisch
8 Apr 25 iiiii iiiiii i `- Re: "A diagram of C23 basic types"1Lawrence D'Oliveiro
3 Apr 25 iiiii iiiiii +* Re: "A diagram of C23 basic types"2Keith Thompson
4 Apr 25 iiiii iiiiii i`- Re: "A diagram of C23 basic types"1Kaz Kylheku
4 Apr 25 iiiii iiiiii `- Re: "A diagram of C23 basic types"1Michael S
4 Apr 25 iiiii iiiii`- Re: "A diagram of C23 basic types"1Lawrence D'Oliveiro
3 Apr 25 iiiii iiii+- Re: "A diagram of C23 basic types"1Muttley
3 Apr 25 iiiii iiii`- Re: "A diagram of C23 basic types"1Keith Thompson
3 Apr 25 iiiii iii+- Re: "A diagram of C23 basic types"1David Brown
4 Apr 25 iiiii iii`- Re: "A diagram of C23 basic types"1Lawrence D'Oliveiro
3 Apr 25 iiiii ii`* Re: "A diagram of C23 basic types"3Muttley
4 Apr 25 iiiii ii `* Re: "A diagram of C23 basic types"2Muttley
4 Apr 25 iiiii ii  `- Re: "A diagram of C23 basic types"1Muttley
4 Apr 25 iiiii i`* Re: "A diagram of C23 basic types"142Lawrence D'Oliveiro
4 Apr 25 iiiii i +- Re: "A diagram of C23 basic types"1Keith Thompson
7 Apr 25 iiiii i +* Re: "A diagram of C23 basic types"87candycanearter07
7 Apr 25 iiiii i i+* Re: "A diagram of C23 basic types"85Janis Papanagnou
8 Apr 25 iiiii i ii+- Re: "A diagram of C23 basic types"1candycanearter07
14 Apr 25 iiiii i ii`* Re: "A diagram of C23 basic types"83Lawrence D'Oliveiro
14 Apr 25 iiiii i ii `* Re: "A diagram of C23 basic types"82candycanearter07
14 Apr 25 iiiii i ii  +* Re: "A diagram of C23 basic types"2Kaz Kylheku
15 Apr 25 iiiii i ii  i`- Re: "A diagram of C23 basic types"1Janis Papanagnou
14 Apr 25 iiiii i ii  `* Re: "A diagram of C23 basic types"79BGB
14 Apr 25 iiiii i ii   +- Re: "A diagram of C23 basic types"1Keith Thompson
14 Apr 25 iiiii i ii   `* Re: "A diagram of C23 basic types"77Lawrence D'Oliveiro
14 Apr 25 iiiii i ii    +* Re: "A diagram of C23 basic types"39Keith Thompson
15 Apr 25 iiiii i ii    i+* Re: "A diagram of C23 basic types"28Lawrence D'Oliveiro
15 Apr 25 iiiii i ii    ii+- Re: "A diagram of C23 basic types"1Keith Thompson
15 Apr 25 iiiii i ii    ii`* Re: "A diagram of C23 basic types"26James Kuyper
15 Apr 25 iiiii i ii    ii +* Re: "A diagram of C23 basic types"18Lawrence D'Oliveiro
15 Apr 25 iiiii i ii    ii i`* Re: "A diagram of C23 basic types"17James Kuyper
15 Apr 25 iiiii i ii    ii i +* Re: "A diagram of C23 basic types"13Keith Thompson
15 Apr 25 iiiii i ii    ii i `* Re: "A diagram of C23 basic types"3Lawrence D'Oliveiro
15 Apr 25 iiiii i ii    ii `* Re: "A diagram of C23 basic types"7BGB
15 Apr 25 iiiii i ii    i`* Re: "A diagram of C23 basic types"10Chris M. Thomasson
15 Apr 25 iiiii i ii    `* Re: "A diagram of C23 basic types"37BGB
8 Apr 25 iiiii i i`- Re: "A diagram of C23 basic types"1Lawrence D'Oliveiro
7 Apr 25 iiiii i `* Re: "A diagram of C23 basic types"53bart
4 Apr 25 iiiii `- Re: "A diagram of C23 basic types"1Lawrence D'Oliveiro
2 Apr 25 iiii+* Re: "A diagram of C23 basic types"2Michael S
2 Apr 25 iiii`* Re: "A diagram of C23 basic types"76David Brown
2 Apr 25 iii`* Re: "A diagram of C23 basic types"3Kaz Kylheku
2 Apr 25 ii`* Re: "A diagram of C23 basic types"29Waldek Hebisch
5 Apr 25 i`* Re: "A diagram of C23 basic types"32Philipp Klaus Krause
3 Apr 25 +* Re: "A diagram of C23 basic types"6Michael S
11 Apr 25 +* Re: "A diagram of C23 basic types"2Tim Rentsch
11 Apr 25 `* Re: "A diagram of C23 basic types"2Tim Rentsch

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal