Subject: Re: System includes C++ safe?
To: matthew green <email@example.com>
From: James Chacon <jmc@NetBSD.org>
Date: 12/26/2003 00:04:03
On Fri, Dec 26, 2003 at 04:17:18PM +1100, matthew green wrote:
> See PR#20421, share/mk/bsd.prog.mk rev 1.175 and GCC bug 7327 for some
> additional background.
> Basically doing this:
> cat > /tmp/test.cpp <<EOF
> #include <map>
> g++ -c -nostdinc++ -isystem /usr/include/g++ /tmp/test.cpp
> Will blow up with lots of errors about templates inside of traditional C
> Turns out this is due to NetBSD hosts not defining NO_IMPLICIT_EXTERN_C
> in the gcc config.
> Since we don't use fixincludes and otherwise assume our headers are fine, is
> there any reason not to define this? i.e. everything is wrapped in
> BEGIN_DECLS (or should be) which DTRT for c++ vs non-c++ code.
> use -isystem-cxx.
Ok, that does solve the first issue. The 2nd point though...Why shouldn't
we enable NO_IMPLICIT_EXTERN_C? If the system includes are C++ safe (which
they are) and we don't use fixincludes there's no real reason for this I