This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: -isystem and C++ headers
Matt Austern <austern@apple.com> writes:
> 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.
I am not familiar enough with C++ to make a coherent suggestion.
On the original topic, I'd be open to changing -isystem (but,
contrariwise, I could be convinced that it isn't safe), and I am
definitely in favor of expanding the number of systems that define
NO_IMPLICIT_EXTERN_C. I'm not going to abolish a feature that Darwin
needs, but I do want to get rid of it eventually.
zw