[libcxx-commits] [PATCH] D59093: [libc++] Mark <filesystem> as unavailable on Apple platforms

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Mar 11 09:14:14 PDT 2019

ldionne added a comment.

In D59093#1423652 <https://reviews.llvm.org/D59093#1423652>, @EricWF wrote:

> We've got to find a better way to do this.

Yes, I don't like this but it is necessary if we want to ship `<filesystem>` as part of the dylib. Like I said, it is possible to use `#pragma clang attribute` to apply this to several declarations at once which makes it less intrusive. But at the end of the day, it is necessary to annotate the declarations that were added to the dylib, and anything that uses those transitively.

> Also, a lot of these symbols are inline and don't depend on anything in the dylib. Why are the being marked unavailable?

This patch did annotate too many things -- I'll submit a follow-up that does not annotate as many things. For example the `perms` enumeration and its associated operations don't need to be annotated. However, one must keep in mind that I need to annotate anything that uses a symbol in the dylib, and do that transitively. So some things that might not seem to be implemented in the dylib still need to be annotated because they are using something that's in the dylib (sometimes indirectly).

  rCXX libc++



More information about the libcxx-commits mailing list