gcc -pthread -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations semaphore/sem_clockwait.c -o semaphore/sem_clockwait -D_POSIX_C_SOURCE=202405L -lm -lpthread -lrt -lxnet -lsocket -latomic semaphore/sem_clockwait.c:5:53: error: ‘struct timespec’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 5 | int (*foo)(sem_t *restrict, clockid_t, const struct timespec *restrict) = sem_clockwait; | ^~~~~~~~ semaphore/sem_clockwait.c:5:75: error: ‘sem_clockwait’ undeclared here (not in a function); did you mean ‘sem_trywait’? 5 | int (*foo)(sem_t *restrict, clockid_t, const struct timespec *restrict) = sem_clockwait; | ^~~~~~~~~~~~~ | sem_trywait cc1: all warnings being treated as errors