clang -O2 -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations strings/strncasecmp_l.c -o strings/strncasecmp_l -D_POSIX_C_SOURCE=202405L -lm -lintl strings/strncasecmp_l.c:5:48: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] int (*foo)(const char *, const char *, size_t, locale_t) = strncasecmp_l; ^ strings/strncasecmp_l.c:5:60: error: use of undeclared identifier 'strncasecmp_l'; did you mean 'strncasecmp'? int (*foo)(const char *, const char *, size_t, locale_t) = strncasecmp_l; ^~~~~~~~~~~~~ strncasecmp /usr/include/strings.h:64:6: note: 'strncasecmp' declared here int strncasecmp(const char *, const char *, size_t); ^ strings/strncasecmp_l.c:5:7: error: incompatible pointer types initializing 'int (*)(const char *, const char *, size_t, int)' with an expression of type 'int (const char *, const char *, unsigned int)' [-Werror,-Wincompatible-pointer-types] int (*foo)(const char *, const char *, size_t, locale_t) = strncasecmp_l; ^ ~~~~~~~~~~~~~ 3 errors generated.