xref: /third_party/musl/libc-test/src/api/string.c (revision 570af302)
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