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