In message <[EMAIL PROTECTED]>, you wrote:

>> [3] The ANSI C standard, at least, contains the requirement that each
>>     individual system include file specified by that standard should
>>     be usable all by itself, without the programmer being required to
>>     explicitly include any OTHER system include files, prior to the one
>>     he/she is actually interested in using.
>
>Can you quote me chapter and verse for this?  I don't believe this to be
>true, and in truth, I believe this is completely wrong.

ANSI 4.1.2:

        The header declares a set of related functions, plus any
        necessary types and additional macros needs to facilitate
        their use.

(And if _that_ is not enough to convince you, then I'll just turn the
question around... from _me_ having to prove a negative to _you_ having
to prove a positive... and ask you to cite chapter and verse where the
ANSI C standard sez that you have to include X before you include Y.)

>Many system include files are *NOT* for public consumption.

Note that I was _very careful_ to say only that the system include files
SPECIFIED BY THE ANSI C STANDARD must be able to be included by themselves.

Every system I've ever worked on provides LOTS of system include files
above and beyond those required by (or mentioned in) the ANSI C standard.

Should the ANSI C requirement relating to ``stand alone'' inclusion apply
also to _every_ system include file, e.g. on FreeBSD.  My own personal
opinion is that the answer is ``yes'', if for no other reason, then just
because that would make compiler-assisted routine QA of all of the system
include files much easier.  (It also would make life a bit simpler for
programmers too, but we don't care about them, right? :-)

>Also, include files should never include other include files...

Really?  Who said that??

>... as this messes up dependencies.

Doesn't for me.  Maybe you're doing something wrong.



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to