nonnull markings in sys/cdefs.h causes trouble with gcc-3.3 ?
Roland McGrath
roland@redhat.com
Fri Apr 8 02:01:00 GMT 2005
If __nonnull actually has anything to do with it, that seems like the bug.
The string.h declaration has __THROW, which in C++ is `throw ()'. That is
the type of the C library function. If you don't want to write a function
of the same type, then you shouldn't be using the name of a function that
is declared by the C library. strcasestr is not a standard function, it is
a GNU extension. So you won't get it if you request a standard environment
using _POSIX_SOURCE et al, only with _GNU_SOURCE or the default condition.
If you want to use _GNU_SOURCE, then don't try to redefine libc functions.
More information about the Libc-alpha
mailing list