libstc++ expectations for newlib's string.h

Benjamin Kosnik bkoz@redhat.com
Fri Aug 23 10:08:00 GMT 2002


> > > I'd just like to add that the problem shows up in the C++ header
> > > bits/locale_facets.tcc which uses strdup.  This makes it impossible to
> > > compile some otherwise-valid C++ programs with -ansi and the newlib
> > > headers.

Well, I think the problem is with libstdc++ and not newlib. Correctly
nailing C89, C99, and the GNU extensions into namespaces has proven to
be difficult. I think there is no reason for newlib to alter includes
for this case based on __cplusplus.

Instead, this should probably be fixed in the C++ library.

> > `-ansi'
> >      In C mode, support all ANSI standard C programs.  In C++ mode,
> >      remove GNU extensions that conflict with ISO C++.

This is incorrect for GNU C++ post 3.0.x, as _GNU_SOURCE is defined in
CPLUSPLUS_CPP_SPEC.

This is currently a low-to-medium priority issue.

-benjamin



More information about the Newlib mailing list