On Wed, Nov 19, 2014, at 16:44, k...@shike2.com wrote:
> > C90, or any version of standard C, does not have a concept of "system
> > headers", other than giving implementations permission to place their
> > own implementation-defined files in places searched by #include
> > <h-char-sequence>.
> 
> At this point I was talking about POSIX of course.  C90 doesn't give
> implementations permission to place their own implementation-defined.
> If your program relays on that, and include some ot these
> implementation headers, then your program is not C90 compliant,
> and the behaviour is undefined (from C90 point of view, not from
> POSIX point of view).

Er, by "permission" I meant it doesn't make the _implementation_
non-compliant.

And implementation-defined is not the same as undefined.

>       - Each header declares and defines only those
>       identifiers listed in its associated section: If the header includes
>       another header then it will break this rule.

I think this is meant as a statement that strictly conforming programs
may not rely on them defining anything else. Most of these identifiers
are reserved, and a strictly conforming program therefore cannot do
anything with them without including the header they are documented as
being defined in.

Reply via email to