cc -pthread -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations uchar/c16rtomb.c -o uchar/c16rtomb -D_POSIX_C_SOURCE=202405L -lm -lpthread -lnetwork -lbsd -latomic uchar/c16rtomb.c:5:64: error: initialization of 'size_t (*)(char * restrict, char16_t, mbstate_t * restrict)' {aka 'long unsigned int (*)(char * restrict, short unsigned int, mbstate_t * restrict)'} from incompatible pointer type 'size_t (*)(char *, char32_t, mbstate_t *)' {aka 'long unsigned int (*)(char *, unsigned int, mbstate_t *)'} [-Werror=incompatible-pointer-types] 5 | size_t (*foo)(char *restrict, char16_t, mbstate_t *restrict) = c16rtomb; | ^~~~~~~~ cc1: all warnings being treated as errors