cc -O2 -pipe -pthread -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 -lpthread locale/getlocalename_l.c:9:21: error: call to undeclared function 'getlocalename_l'; ISO C99 and later do not support implicit function declarations [-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.