1#include <string.h> 2#define T(t) (t*)0; 3static void f() 4{ 5T(size_t) 6{void *x=NULL;} 7{void*(*p)(const void*,int,size_t) = memchr;} 8{int(*p)(const void*,const void*,size_t) = memcmp;} 9{void*(*p)(void*restrict,const void*restrict,size_t) = memcpy;} 10{void*(*p)(void*,const void*,size_t) = memmove;} 11{void*(*p)(void*,int,size_t) = memset;} 12{char*(*p)(char*restrict,const char*restrict) = strcat;} 13{char*(*p)(const char*,int) = strchr;} 14{int(*p)(const char*,const char*) = strcmp;} 15{int(*p)(const char*,const char*) = strcoll;} 16{char*(*p)(char*restrict,const char*restrict) = strcpy;} 17{size_t(*p)(const char*,const char*) = strcspn;} 18{char*(*p)(int) = strerror;} 19{size_t(*p)(const char*) = strlen;} 20{char*(*p)(char*restrict,const char*restrict,size_t) = strncat;} 21{int(*p)(const char*,const char*,size_t) = strncmp;} 22{char*(*p)(char*restrict,const char*restrict,size_t) = strncpy;} 23{char*(*p)(const char*,const char*) = strpbrk;} 24{char*(*p)(const char*,int) = strrchr;} 25{char*(*p)(int) = strsignal;} 26{size_t(*p)(const char*,const char*) = strspn;} 27{char*(*p)(const char*,const char*) = strstr;} 28{char*(*p)(char*restrict,const char*restrict) = strtok;} 29{size_t(*p)(char*restrict,const char*restrict,size_t) = strxfrm;} 30#ifdef _POSIX_C_SOURCE 31T(locale_t) 32{char*(*p)(char*restrict,const char*restrict) = stpcpy;} 33{char*(*p)(char*restrict,const char*restrict,size_t) = stpncpy;} 34{int(*p)(const char*,const char*,locale_t) = strcoll_l;} 35{char*(*p)(const char*) = strdup;} 36{char*(*p)(int,locale_t) = strerror_l;} 37{int(*p)(int,char*,size_t) = strerror_r;} 38{char*(*p)(const char*,size_t) = strndup;} 39{size_t(*p)(const char*,size_t) = strnlen;} 40{char*(*p)(char*restrict,const char*restrict,char**restrict) = strtok_r;} 41{size_t(*p)(char*restrict,const char*restrict,size_t,locale_t) = strxfrm_l;} 42#endif 43#ifdef _XOPEN_SOURCE 44{void*(*p)(void*restrict,const void*restrict,int,size_t) = memccpy;} 45#endif 46} 47