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