[PATCH] D28316: [libc++] Cleanup and document <__threading_support>

Eric Fiselier via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 4 13:52:41 PST 2017


EricWF created this revision.
EricWF added reviewers: compnerd, rmaprath.
EricWF added a subscriber: cfe-commits.
Herald added a subscriber: mgorny.

This patch attempts to clean up the macro configuration mess in `<__threading_support>`, specifically the mess involving external threading variants. Additionally this patch adds design documentation for `<__threading_support>` and the configuration macros it uses.

The primary change in this patch is separating the idea of an "external API" provided by `<__external_threading>` and the idea of having an external threading library. Now `_LIBCPP_HAS_THREAD_API_EXTERNAL` means that libc++ should use `<__external_threading>` and that the header is expected to exist.  Additionally the new macro `_LIBCPP_HAS_THREAD_LIBRARY_EXTERNAL` is now used to configure for using an "external library"  with the default threading API.


https://reviews.llvm.org/D28316

Files:
  CMakeLists.txt
  docs/DesignDocs/ThreadingSupportAPI.rst
  docs/index.rst
  include/__config
  include/__config_site.in
  include/__threading_support
  lib/CMakeLists.txt
  test/CMakeLists.txt
  test/lit.site.cfg.in
  test/support/external_threads.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D28316.83122.patch
Type: text/x-patch
Size: 11258 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170104/8d117d51/attachment.bin>


More information about the cfe-commits mailing list