[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)
commit0a06eb911b830cf693747ea6cd975bd97b454e3e
treec68150415e2565cc96801d042c3230efc0194103
parent3de33245d2c992c9e0af60372043540b60f3a810
[libc++] Take 2: Integrate the PSTL into libc++

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

llvm-svn: 367903
17 files changed:
libcxx/CMakeLists.txt
libcxx/include/CMakeLists.txt
libcxx/include/__config_site.in
libcxx/include/algorithm
libcxx/include/execution [new file with mode: 0644]
libcxx/include/memory
libcxx/include/module.modulemap
libcxx/include/numeric
libcxx/src/CMakeLists.txt
libcxx/test/CMakeLists.txt
libcxx/test/libcxx/double_include.sh.cpp
libcxx/test/lit.site.cfg.in
libcxx/test/std/pstl [new symlink]
libcxx/utils/libcxx/test/config.py
libcxxabi/src/CMakeLists.txt
llvm/projects/CMakeLists.txt
pstl/test/std/lit.local.cfg [new file with mode: 0644]