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


On Tue, May 11, 2004 at 10:28:44PM -0700, Zack Weinberg wrote:
> 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.

Perhaps we should flip the default?  I don't think newlib requires it,
presumably neither does rtems; I don't know about other embedded
targets like vxworks.  But some hosted systems (at least some Solaris
versions, yes?) do.  I'd like to see the *-elf targets dump it.

In any case it sounds like I need to fix upstream DejaGNU!

-- 
Daniel Jacobowitz


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