C++ header compatibility patches

Benjamin Kosnik bkoz@redhat.com
Tue Jun 18 15:09:00 GMT 2002


> AFAICT you have hard-wired "on" the namespace code instead of "off". 
> Am I missing something?

You are correct. It should be hard-wired to "off" before check-in. (#if
0 should be #if 1, or whatever.)

> There are a number of header files that use the extern "C" mechanism
> that you have chosen not to modify.  Is this because you are only
> changing ANSI C header files? 

Yes. I'm trying to do the smallest possible change.

> For example, you have not changed any of
> the libc/sys include files and there are some header files like
> malloc.h which you do not change in the main include directory. As
> well, you have moved some of the _BEGIN_STD_C statements from the
> location their corresponding extern "C" statements were.

extern "C" { nests, but

namespace std { extern "C" {

does not. I tried to make the movement as small as possible.


>  If my
> assumption is correct and you only care about ANSI C variables and
> prototypes, that would explain it.  Would there be a reason to still
> have the extern "C" statements covering the non-ANSI bits?

Yes. For C++ people who use the "C" headers. (Some, like pthreads.h, are
almost always used, for instance.)

Thanks,
benjamin



More information about the Newlib mailing list