-isystem and C++ headers

Matt Austern austern@apple.com
Tue May 11 23:51:00 GMT 2004


On May 11, 2004, at 4:46 PM, Zack Weinberg wrote:

Daniel Jacobowitz <drow@false.org> writes:

c-opts.c says this:

    case OPT_isystem:
      add_path (xstrdup (arg), SYSTEM, 0);
      break;
Is there a particular reason the third argument, cxx_aware, is not 
set?
This means that anything included via -isystem will be marked with 
extern
"C" by g++.
Show of hands please: Who needs this implicit-extern-C crap anymore?
Darwin still does.  I hope it won't for much longer.

The biggest issue for this getting fixed in Darwin, actually, is 
convincing ourselves that it has been fixed.  There are *many* headers, 
and it's impractical to hand-inspect every one to prove that it's 
C++-safe.  So far we haven't come up with an automated way of checking 
headers.  Suggestions would be welcome.

			--Matt




More information about the Gcc mailing list