libstc++ expectations for newlib's string.h

Joel Sherrill
Fri Aug 23 10:31:00 GMT 2002

Benjamin Kosnik wrote:
> > > > 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.

newlib and glibc have different behaviors in this case.  Are you saying
both are correct?  

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

Fair enough.  I certianly won't argue that having so many somewhat
standards isn't confusing.
> > > `-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
> This is currently a low-to-medium priority issue.

:( Do you have a fix in mind for this particular case?  Or a guiding 
thought?  We would be happy to try to fix the problems as we encounter
them if we knew what the rule of thumb was.

> -benjamin


More information about the Newlib mailing list