This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Make feature-test macros consistent with availability macros
ClosedPublic

Authored by ldionne on Jun 17 2021, 6:31 AM.

Details

Reviewers
ldionne
Group Reviewers
Restricted Project
Summary

Before this patch, feature-test macros didn't take special availability
markup into account, which means that feature-test macros can sometimes
appear to "lie". For example, if you compile in C++20 mode and target
macOS 10.13, the __cpp_lib_filesystem feature-test macro will be provided
even though the <filesystem> declarations are marked as unavailable.
This patch fixes that.

rdar://68142369

(cherry picked from commit 76fc35752d19ac605c1c1fd757af9c7c3bb4a906)

Diff Detail

Event Timeline

ldionne created this revision.Jun 17 2021, 6:31 AM
ldionne requested review of this revision.Jun 17 2021, 6:31 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 17 2021, 6:31 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
ldionne accepted this revision as: Restricted Project.Jun 17 2021, 9:41 AM

Associated release blocker bug: http://llvm.org/PR50758

ldionne accepted this revision.Jun 23 2021, 8:40 AM

This has been merged to release/12.x

This revision is now accepted and ready to land.Jun 23 2021, 8:40 AM
ldionne closed this revision.Jun 23 2021, 8:40 AM
libcxx/include/version