Subject: Re: missing #include ?
To: None <tech-userlevel@NetBSD.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
Date: 12/10/2006 20:27:44
>> "CPP optimizes even further. It remembers when a header file has a
>> wrapper `#ifndef'. If a subsequent `#include' specifies that
>> header, and the macro in the `#ifndef' is still defined, it does not
>> bother to rescan the file at all."
> I thought about that, since the preprocessor is the obvious place for
> an optimisation, and ISTR C++ does something similar with the #import
> statement. But I wasn't sure whether cutting corners like this would
> go down well with ANSI C. If it does, all the better.
Yes, this comes under the "as if" rule. The semantics are as if the
file were reread; gcc just remembers when the file is such that it can
be short-circuited this way without changing the semantics.
/~\ The ASCII der Mouse
\ / Ribbon Campaign
X Against HTML email@example.com
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B