clang -O2 -Wall -Wextra -Werror=implicit-function-declaration locale/getlocalename_l.c -o locale/getlocalename_l -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lintl locale/getlocalename_l.c:9:21: error: implicit declaration of function 'getlocalename_l' is invalid in C99 [-Werror,-Wimplicit-function-declaration] const char* name = getlocalename_l(LC_COLLATE, LC_GLOBAL_LOCALE); ^ locale/getlocalename_l.c:9:14: warning: incompatible integer to pointer conversion initializing 'const char *' with an expression of type 'int' [-Wint-conversion] const char* name = getlocalename_l(LC_COLLATE, LC_GLOBAL_LOCALE); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ locale/getlocalename_l.c:17:7: warning: incompatible integer to pointer conversion assigning to 'const char *' from 'int' [-Wint-conversion] name = getlocalename_l(LC_COLLATE, locale); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2 warnings and 1 error generated.