From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Kosnik To: bkoz@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org Subject: Re: libstdc++/2767 Date: Tue, 08 May 2001 19:36:00 -0000 Message-id: <20010509023600.22199.qmail@sourceware.cygnus.com> X-SW-Source: 2001-05/msg00248.html List-Id: The following reply was made to PR libstdc++/2767; it has been noted by GNATS. From: Benjamin Kosnik To: Peter Schmid Cc: gcc-gnats@gcc.gnu.org, nobody@gcc.gnu.org, stephen@bregmasoft.com Subject: Re: libstdc++/2767 Date: Tue, 8 May 2001 19:35:45 -0700 (PDT) please check out current CVS for include/c_std/bits/std_cstring.h > "Functions for manipulating C-style strings are found in > and : > ... > const char* strchr(const char*, int); > char* strchr(char*, int);" right... > On the following page he mentions the "C standard library definition, > not C++" of strchr: > > char* strchr(cont char*, int); right.... > Therefore, I believe, the prototypes in the current libstdc++ > implementation for strchr are indeed correct. the prototypes signatures were correct, as above. However, they referred to the "C" version as having the following signature, which was incorrect: extern "C" const char* strchr(cont char*, int); ^^^^^ This has been fixed. In the short term, you'll need to explicitly qualify these functions with std:: to remove ambiguity. In the long term, somebody should try to clean up the shadow header implementation. best, benjamin