]> granicus.if.org Git - llvm/commitdiff
[libc++] Take 2: Integrate the PSTL into libc++
authorLouis Dionne <ldionne@apple.com>
Mon, 5 Aug 2019 18:29:14 +0000 (18:29 +0000)
committerLouis Dionne <ldionne@apple.com>
Mon, 5 Aug 2019 18:29:14 +0000 (18:29 +0000)
Summary:
This commit allows specifying LIBCXX_ENABLE_PARALLEL_ALGORITHMS when
configuring libc++ in CMake. When that option is enabled, libc++ will
assume that the PSTL can be found somewhere on the CMake module path,
and it will provide the C++17 parallel algorithms based on the PSTL
(that is assumed to be available).

The commit also adds support for running the PSTL tests as part of
the libc++ test suite.

The first attempt to commit this failed because it exposed a bug in the
tests for modules. Now that this has been fixed, it should be safe to
commit this.

Reviewers: EricWF

Subscribers: mgorny, christof, jkorous, dexonsmith, libcxx-commits, mclow.lists, EricWF

Tags: #libc

Differential Revision: https://reviews.llvm.org/D60480

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@367903 91177308-0d34-0410-b5e6-96231b3b80d8

projects/CMakeLists.txt

index c98a8824773384a4b289e702131e2bcb0a8abe84..47ceb9ea2f339e47c25c1627301ca32ef3b367b9 100644 (file)
@@ -30,8 +30,8 @@ if(${LLVM_BUILD_RUNTIME})
     # Add the projects in reverse order of their dependencies so that the
     # dependent projects can see the target names of their dependencies.
     add_llvm_external_project(libunwind)
-    add_llvm_external_project(libcxxabi)
     add_llvm_external_project(pstl)
+    add_llvm_external_project(libcxxabi)
     add_llvm_external_project(libcxx)
   endif()
   if(NOT LLVM_BUILD_EXTERNAL_COMPILER_RT)