cc -O2 -pipe -pthread -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations sys_mman/shm_open.c -o sys_mman/shm_open -D_POSIX_C_SOURCE=202405L -lm -lpthread sys_mman/shm_open.c:6:31: error: type specifier missing, defaults to 'int'; ISO C99 and later do not support implicit int [-Werror,-Wimplicit-int] int (*foo)(const char *, int, mode_t) = shm_open; ^ int sys_mman/shm_open.c:6:7: error: incompatible function pointer types initializing 'int (*)(const char *, int, int)' with an expression of type 'int (const char *, int, __mode_t)' (aka 'int (const char *, int, unsigned int)') [-Werror,-Wincompatible-function-pointer-types] int (*foo)(const char *, int, mode_t) = shm_open; ^ ~~~~~~~~ 2 errors generated.