Skip to content

macOS: semaphore related deprecation warnings when building compiler

While building ghc stage 1, I noticed these warnings:

/var/folders/fw/n1sdyp616tz20jfs2h0qzngr0000gq/T/ghc57747_0/ghc_2.c:9:106: error:
     warning: 'sem_getvalue' is deprecated [-Wdeprecated-declarations]
  |
9 | HsInt ghczuwrapperZC0ZCunixzm2zi7zi3ZCSystemziPosixziSemaphoreZCsemzugetvalue(void* a1, int* a2) {return sem_getvalue(a1, a2);}
  |                                                                                                          ^
HsInt ghczuwrapperZC0ZCunixzm2zi7zi3ZCSystemziPosixziSemaphoreZCsemzugetvalue(void* a1, int* a2) {return sem_getvalue(a1, a2);}
                                                                                                         ^

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/semaphore.h:54:56: error:
     note: 'sem_getvalue' has been explicitly marked deprecated here
   |
54 | int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated;
   |                                                        ^
int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated;
                                                       ^

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:196:40: error:
     note: expanded from macro '__deprecated'
    |
196 | #define __deprecated    __attribute__((__deprecated__))
    |                                        ^
#define __deprecated    __attribute__((__deprecated__))
                                       ^
1 warning generated.

/var/folders/fw/n1sdyp616tz20jfs2h0qzngr0000gq/T/ghc57747_0/ghc_8.c:9:106: error:
     warning: 'sem_getvalue' is deprecated [-Wdeprecated-declarations]
  |
9 | HsInt ghczuwrapperZC0ZCunixzm2zi7zi3ZCSystemziPosixziSemaphoreZCsemzugetvalue(void* a1, int* a2) {return sem_getvalue(a1, a2);}
  |                                                                                                          ^
HsInt ghczuwrapperZC0ZCunixzm2zi7zi3ZCSystemziPosixziSemaphoreZCsemzugetvalue(void* a1, int* a2) {return sem_getvalue(a1, a2);}
                                                                                                         ^

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/semaphore.h:54:56: error:
     note: 'sem_getvalue' has been explicitly marked deprecated here
   |
54 | int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated;
   |                                                        ^
int sem_getvalue(sem_t * __restrict, int * __restrict) __deprecated;
                                                       ^

/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/cdefs.h:196:40: error:
     note: expanded from macro '__deprecated'
    |
196 | #define __deprecated    __attribute__((__deprecated__))
    |                                        ^
#define __deprecated    __attribute__((__deprecated__))
                                       ^
1 warning generated.

macOS 12.5.1 (aarch64)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information