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

Repository
rL LLVM

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.