This is the mail archive of the
mailing list for the Cygwin project.
Re: [PATCH] Cygwin: make path_conv::isdevice() return false on socket files
On 2019-07-21 08:25, Ken Brown wrote:
> On 7/21/2019 3:15 AM, Brian Inglis wrote:
>> Anything beginning is or to followed by a lower case letter may be used by the
>> (library) implementation and may be considered reserved: best to interpose an
>> underscore as systems with better language support inc. BSDs are adding classes.
> I assume you're referring to the POSIX name space rules, as in Section 2.2.2 of
> https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html. I
> don't see how that's related to the present discussion (identifiers used in
> classes internal to Cygwin).
Software hygiene for 9899 (see 7.1.4 Future Library Directions), POSIX, and C++
(anything in the std namespace) conformance: 9899 and others are normative
references in both POSIX and C++.
"Also, POSIX.1-2017 defines symbols that are not permitted by other standards to
appear in those headers without some control on the visibility of those symbols."
Normative References -
includes FORTRAN, 646 ASCII and 10646 UTF8 BMP, 8601 dates/times, and 4217
So we can't use anything that is currently or might be used in the future by any
compiler or library.
Builds break unexpectedly, and sometimes more widely than you might think, when
a header included perhaps indirectly, declares or defines something you have
BTDT Got The T-Shirt - structure member name used in a number of structures in
app headers included in and used in almost all sources, toasted by a macro
definition in a std header required in almost all those sources - as a core dev
I got to do the cleanup! ;^>
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.