mirror of
https://github.com/gcc-mirror/gcc.git
synced 2026-05-06 14:59:39 +02:00
Darwin has kernel support for this facility from 10.12 (macOS Sierra). From 10.15 (macOS Catalina) 64bit qualitities are supported. When the library is built for 10.12+ both 32b and 64b quantities will be supported by the DSO which means it can be installed on 10.12+ with support for 64bit available when the instalation is >= 10.15. The header will only recognise 64b quantities when the deployment version is >= 10.15. If the library is built for <= 10.11, the support will be missing and attempts to use it wlll result in link errors. The platform wait type is unconditionally set to 32bits, since this is compatible across supported OS editions. PR libstdc++/120527 libstdc++-v3/ChangeLog: * include/bits/atomic_wait.h: * src/c++20/atomic.cc (__ulock_wait): Enable supported Darwin versions. (__ulock_wake): Likewise. (UL_COMPARE_AND_WAIT): New. (UL_COMPARE_AND_WAIT64): New. (ULF_WAKE_ALL): New. (_GLIBCXX_HAVE_PLATFORM_WAIT): Enable for suppported Darwin versions. Co-authored-by: Iain Sandoe <iain@sandoe.co.uk> Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>