[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: standards/51044: NetBSD cdefs.h defines __func__ incompatibly with C99
The following reply was made to PR standards/51044; it has been noted by GNATS.
From: Robert Elz <kre%munnari.OZ.AU@localhost>
Subject: Re: standards/51044: NetBSD cdefs.h defines __func__ incompatibly with C99
Date: Thu, 11 Aug 2016 02:04:12 +0700
Date: Wed, 10 Aug 2016 18:15:01 +0000 (UTC)
From: David Holland <dholland-bugs%netbsd.org@localhost>
| > The root cause is the OS header files trampling on
| > compiler-reserved namespace.
| There is no such thing as compiler-reserved namespace in Standard C.
I suspect that this might be yet another example of a very common
problem when dividing up namespaces into groups (partucularly when
it is just two groups).
Someone decides that names of class X are reserved for type Y users,
and not available to type Z users. Then person A complains about
person B using a class X name - A claims "I am Y, you are not", to which
B replies, "I certainly am a Y, you might be too, but I certainly am."
A says "no you're not", B: "yes I am" ... and we all know how that ends.
In this case, if you're a compiler implementor, "reserved to the
implementation" means only compilers get to use it. If you're
a system implementor, the implementation includes everything provided
with the system, including the compiler, but excludes all add ons.
If you're a provider of packaged add on software, the implementation
includes all of that, and just excludes what the end users do.
If you're an end-user administrator, then the implementation is
everything I buy, and install, including my scripts, and the rest
is just what the lusers I have to support do ...
The whole strategy of dividing namespaces that way is doomed, and
almost always just ends up causing far more problems then if the whole
thing was just a free for all, and was gradually handled by the users
sorting out some mechanism that solves the problems.
Main Index |
Thread Index |