This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]