This is the mail archive of the
mailing list for the GCC project.
Re: string.h and std_cstring.h
- From: <gp at qnx dot com>
- To: "Joe Buck" <Joe dot Buck at synopsys dot com>, "Graeme Peterson" <gp at qnx dot com>
- Cc: <gcc at gcc dot gnu dot org>
- Date: Sat, 3 Aug 2002 03:07:24 -0000
- Subject: Re: string.h and std_cstring.h
Thanks, Joe. That could be it. Our header has something like:
#define Const_ret const
extern Const_ret char* strrchr(Const_ret char *, int);
So if I am remembering it right (I'm at home right now), then we get one or
the other, but never both. I am not sure about the inlines, but I will check.
I will work on it and let you all know.
Joe Buck <Joe.Buck@synopsys.com> said:
> > I am working on the QNX i386-nto support in gcc again.
> > The current stumbling block is that our string.h declares
> > memchr, strchr, strpbrk, strrchr, and strstr as inline.
> > ...
> > Comments? Am I missing something?
> It sounds like you may be running into trouble because C++ requires
> overloading for certain functions. For example, in C, strchr is
> char* strrchr(const char *, int);
> while in C++ there are two:
> const char* strrchr(const char *, int);
> char* strrchr(char *, int);
> So, if your OS provides only a C version of strchr, you still have
> work to do to get the C++ versions right.