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]

Re: egcs-1.1.1: name mangling and C library header files


> 	I believe that all header files in the system header directory
> are assumed to be "C".  This is one of the "special treatments"
> applied to the standard system directories.

This is not totally correct. System header directories can be marked
as cxx_aware, in which case header files inside are automatically
'extern "C"'. By default, no system directory is
cxx_aware. Target-specific macros can override this default, though.

Also, if system header directories are obtained from environment
variables, they become cxx_aware.

For details, I guess you have to consult the source code. After the
preprocessor, the compiler will recognise such a header by a value of
"4" in the line directive (instead of "3", which indicates normal
system header).

Regards,
Martin


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