clang -O2 -Wall -Wextra -Werror -Wno-error=deprecated -Wno-error=deprecated-declarations sys_wait/waitid.c -o sys_wait/waitid -D_POSIX_C_SOURCE=202405L -lm -lintl In file included from sys_wait/waitid.c:1: /usr/include/sys/wait.h:175:1: error: unknown type name 'pid_t' pid_t wait(int *); ^ /usr/include/sys/wait.h:176:1: error: unknown type name 'pid_t' pid_t waitpid(pid_t, int *, int); ^ /usr/include/sys/wait.h:176:22: error: expected identifier pid_t waitpid(pid_t, int *, int); ^ sys_wait/waitid.c:5:38: error: expected ')' int (*foo)(idtype_t, id_t, siginfo_t *, int) = waitid; ^ sys_wait/waitid.c:5:11: note: to match this '(' int (*foo)(idtype_t, id_t, siginfo_t *, int) = waitid; ^ sys_wait/waitid.c:5:12: error: a parameter list without types is only allowed in a function definition int (*foo)(idtype_t, id_t, siginfo_t *, int) = waitid; ^ sys_wait/waitid.c:5:48: error: use of undeclared identifier 'waitid'; did you mean 'waitpid'? int (*foo)(idtype_t, id_t, siginfo_t *, int) = waitid; ^~~~~~ waitpid /usr/include/sys/wait.h:176:7: note: 'waitpid' declared here pid_t waitpid(pid_t, int *, int); ^ 6 errors generated.