This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Mark <filesystem> as unavailable on Apple platforms using pragmas
ClosedPublic

Authored by ldionne on Mar 11 2019, 11:09 AM.

Details

Summary

Also add the corresponding XFAILs to tests that require filesystem.
The approach taken to mark <filesystem> as unavailable in this patch
is to mark all the header as unavailable using #pragma clang attribute.
Marking each declaration using the attribute is more intrusive and
does not provide a lot of value right now because pretty much everything
in <filesystem> requires dylib support, often transitively.

This is an alternative to https://reviews.llvm.org/D59093.

Event Timeline

ldionne created this revision.Mar 11 2019, 11:09 AM
EricWF accepted this revision.Mar 11 2019, 4:01 PM
This revision is now accepted and ready to land.Mar 11 2019, 4:01 PM
ldionne updated this revision to Diff 190824.Mar 15 2019, 7:38 AM

Work around PR41078.

Since this needs both D59282 and D59394, we'll want to wait for D59394 to land. We'll also want to update the compiler on any tester that uses availability markup (so any tester that checks for back-deployment on Apple platforms) to Clang trunk.

I committed about half of this (most of the test markup) in r356558. The goal was to fix tests for back-deployment use cases.

ldionne updated this revision to Diff 191492.Mar 20 2019, 7:39 AM

Update the review after half the changes have been applied in r356558.

This revision was automatically updated to reflect the committed changes.