On Wed, 18 Jul 2001, David Malone wrote:

> I would have thought that any file included with
> #include <...>
> would count as a system header file, but it seems gcc has some
> other criteron for deciding. I've managed to trace it back to cpp
> writing out lines like:
> # 1 "/usr/include/tcpd.h" 1 3
> where the "3" at the end seems to mean a system header file. And
> in tradcpp.c it seems to set a varible system_header_p if the
> include is a <...> as opposed to a "...", but I haven't found out
> where the "3" comes from yet.

> Ahh - I'm looking at the wrong gcc sources. The 2.95.3 sources
> (which uses the old gcc cpp) decides if something is a system
> include based on examining a list which doesn't seem to get
> initialised if you say "-nostdinc". The newer gcc sources (2.96.20000711
> with the new cpp) seem to do the <...> vs. "..." thing.

I thought that it just looks at the path prefix and knows that /usr/include
is special.  It seems to used -nostdinc too.  I don't see how looking at
<...> could be right, since double-quoted includes are not wrong for
standard headers.  In practice, ``#include "tcpd.h"'' gives the same lack
of warnings as ``#include <tcpd.h>''.


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

Reply via email to