cc -pthread -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations wchar/wcscoll_l.c -o wchar/wcscoll_l -D_POSIX_C_SOURCE=202405L -lm -lpthread -liconv wchar/wcscoll_l.c:5:46: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Wimplicit-int] 5 | int (*foo)(const wchar_t *, const wchar_t *, locale_t) = wcscoll_l; | ^ | int wchar/wcscoll_l.c:5:58: error: use of undeclared identifier 'wcscoll_l'; did you mean 'wcscoll'? 5 | int (*foo)(const wchar_t *, const wchar_t *, locale_t) = wcscoll_l; | ^~~~~~~~~ | wcscoll /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/_wchar.h:127:5: note: 'wcscoll' declared here 127 | int wcscoll(const wchar_t *, const wchar_t *); | ^ wchar/wcscoll_l.c:5:7: error: incompatible function pointer types initializing 'int (*)(const wchar_t *, const wchar_t *, int)' (aka 'int (*)(const int *, const int *, int)') with an expression of type 'int (const wchar_t *, const wchar_t *)' (aka 'int (const int *, const int *)') [-Wincompatible-function-pointer-types] 5 | int (*foo)(const wchar_t *, const wchar_t *, locale_t) = wcscoll_l; | ^ ~~~~~~~~~ 3 errors generated.