cc -pthread -Wall -Wextra -Werror=implicit-function-declaration semaphore/sem_timedwait.c -o semaphore/sem_timedwait -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lpthread -liconv semaphore/sem_timedwait.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_timedwait.c:17:7: error: call to undeclared function 'sem_timedwait'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 17 | if ( sem_timedwait(&sem, &long_timeout) < 0 ) | ^ semaphore/sem_timedwait.c:17:7: note: did you mean 'sem_trywait'? /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/semaphore.h:58:5: note: 'sem_trywait' declared here 58 | int sem_trywait(sem_t *); | ^ 1 warning and 1 error generated.