This is an archive of the discontinued LLVM Phabricator instance.

Re-introduce the RWMutexImpl for macOS < 10.12
ClosedPublic

Authored by JDevlieghere on Aug 15 2019, 3:08 PM.

Details

Summary

Unfortunately, std::shared_timed_mutex is only available on macOS 10.12 and later. This prevents LLVM from compiling when you have a deployment target that's older. This patch reintroduced the old RWMutexImpl but guards it by the macOS availability macro.

Diff Detail

Event Timeline

JDevlieghere created this revision.Aug 15 2019, 3:08 PM
Herald added a project: Restricted Project. · View Herald TranscriptAug 15 2019, 3:08 PM
JDevlieghere edited the summary of this revision. (Show Details)Aug 15 2019, 3:12 PM
arphaman accepted this revision.Aug 15 2019, 3:14 PM

It's not pretty, but it fixes the issue. We will need a better story for other partially available symbols when we'll be moving over to C++17.

This revision is now accepted and ready to land.Aug 15 2019, 3:14 PM
jfb added a comment.Aug 15 2019, 3:57 PM

Could you document this limitation in CodingStandards.rst, like what I removed for C++11 in https://reviews.llvm.org/D66195#change-S42p9rAdiuZJ ?

This revision was automatically updated to reflect the committed changes.