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