cc -pthread -Wall -Wextra -Werror=implicit-function-declaration semaphore/sem_clockwait.c -o semaphore/sem_clockwait -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lpthread -liconv semaphore/sem_clockwait.c:12:7: warning: 'sem_init' is deprecated [-Wdeprecated-declarations] 12 | if ( sem_init(&sem, 0, 1) < 0 ) | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/semaphore.h:55:42: note: 'sem_init' has been explicitly marked deprecated here 55 | int sem_init(sem_t *, int, unsigned int) __deprecated; | ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:223:40: note: expanded from macro '__deprecated' 223 | #define __deprecated __attribute__((__deprecated__)) | ^ semaphore/sem_clockwait.c:17:7: error: call to undeclared function 'sem_clockwait'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 17 | if ( sem_clockwait(&sem, CLOCK_MONOTONIC, &long_timeout) < 0 ) | ^ 1 warning and 1 error generated.