cc -pthread -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations langinfo/nl_langinfo_l.c -o langinfo/nl_langinfo_l -D_POSIX_C_SOURCE=202405L -lm -lpthread -liconv langinfo/nl_langinfo_l.c:5:23: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] char *(*foo)(nl_item, locale_t) = nl_langinfo_l; ^ langinfo/nl_langinfo_l.c:5:35: error: use of undeclared identifier 'nl_langinfo_l'; did you mean 'nl_langinfo'? char *(*foo)(nl_item, locale_t) = nl_langinfo_l; ^~~~~~~~~~~~~ nl_langinfo /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/langinfo.h:113:7: note: 'nl_langinfo' declared here char *nl_langinfo(nl_item); ^ langinfo/nl_langinfo_l.c:5:9: error: incompatible function pointer types initializing 'char *(*)(nl_item, int)' (aka 'char *(*)(int, int)') with an expression of type 'char *(nl_item)' (aka 'char *(int)') [-Werror,-Wincompatible-function-pointer-types] char *(*foo)(nl_item, locale_t) = nl_langinfo_l; ^ ~~~~~~~~~~~~~ 3 errors generated.