The C++ standard defines the C headers such as <string.h> and <wchar.h> in
terms of their C++ versions such as <cstring> and <cwchar>, which in turn are
defined in terms of the headers in the C standard.
Thus, <string.h> and <wchar.h> require the function overloads for functions
such as strchr and wcschr that are defined to be in <cstring> and <cwchar>.
However, libstdc++ defines these only in <cstring> and <cwchar>, not in
<string.h> and <wchar.h>.
libstdc++ needs to wrap the headers provided by the C library, or otherwise
cooperate with glibc and other C library implementations, to get the required
C++ definitions in place.
This is different from bug 6257, and unlike that bug this one appears still to
be a bug with the current C++0x draft.
--
Summary: overloads in C headers
Product: gcc
Version: 4.3.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jsm28 at gcc dot gnu dot org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33935