[libcxx-commits] [pstl] r358497 - [pstl] Remove the stdlib headers from the PSTL and move them to the tests

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Tue Apr 16 07:38:09 PDT 2019


Author: ldionne
Date: Tue Apr 16 07:38:08 2019
New Revision: 358497

URL: http://llvm.org/viewvc/llvm-project?rev=358497&view=rev
Log:
[pstl] Remove the stdlib headers from the PSTL and move them to the tests

Summary:
PSTL should not provide those headers since they belong to the standard
library. Instead, we define a dummy standard library in the tests that
provides those headers.

Reviewers: rodgert, MikeDvorskiy

Subscribers: mgorny, jkorous, dexonsmith, libcxx-commits

Tags: #libc

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

Added:
    pstl/trunk/test/support/stdlib/
    pstl/trunk/test/support/stdlib/algorithm
    pstl/trunk/test/support/stdlib/execution
    pstl/trunk/test/support/stdlib/memory
    pstl/trunk/test/support/stdlib/numeric
Removed:
    pstl/trunk/include/pstl/algorithm
    pstl/trunk/include/pstl/execution
    pstl/trunk/include/pstl/memory
    pstl/trunk/include/pstl/numeric
Modified:
    pstl/trunk/test/CMakeLists.txt
    pstl/trunk/test/pstl/header_inclusion_order_algorithm_0.pass.cpp
    pstl/trunk/test/pstl/header_inclusion_order_algorithm_1.pass.cpp
    pstl/trunk/test/pstl/header_inclusion_order_memory_0.pass.cpp
    pstl/trunk/test/pstl/header_inclusion_order_memory_1.pass.cpp
    pstl/trunk/test/pstl/header_inclusion_order_numeric_0.pass.cpp
    pstl/trunk/test/pstl/header_inclusion_order_numeric_1.pass.cpp
    pstl/trunk/test/std/algorithms/alg.merge/inplace_merge.pass.cpp
    pstl/trunk/test/std/algorithms/alg.merge/merge.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/fill.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/generate.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/remove.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/replace.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/unique.pass.cpp
    pstl/trunk/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/count.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/equal.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/find.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp
    pstl/trunk/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp
    pstl/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp
    pstl/trunk/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
    pstl/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
    pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp
    pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
    pstl/trunk/test/std/algorithms/alg.sorting/is_sorted.pass.cpp
    pstl/trunk/test/std/algorithms/alg.sorting/partial_sort.pass.cpp
    pstl/trunk/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp
    pstl/trunk/test/std/algorithms/alg.sorting/sort.pass.cpp
    pstl/trunk/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp
    pstl/trunk/test/std/numerics/numeric.ops/reduce.pass.cpp
    pstl/trunk/test/std/numerics/numeric.ops/scan.pass.cpp
    pstl/trunk/test/std/numerics/numeric.ops/transform_reduce.pass.cpp
    pstl/trunk/test/std/numerics/numeric.ops/transform_scan.pass.cpp
    pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp
    pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp
    pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp

Removed: pstl/trunk/include/pstl/algorithm
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/include/pstl/algorithm?rev=358496&view=auto
==============================================================================
--- pstl/trunk/include/pstl/algorithm (original)
+++ pstl/trunk/include/pstl/algorithm (removed)
@@ -1,24 +0,0 @@
-// -*- C++ -*-
-//===-- algorithm ---------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _PSTL_ALGORITHM
-#define _PSTL_ALGORITHM
-
-#include "internal/pstl_config.h"
-
-#if _PSTL_EXECUTION_POLICIES_DEFINED
-// If <execution> has already been included, pull in implementations
-#    include "internal/glue_algorithm_impl.h"
-#else
-// Otherwise just pull in forward declarations
-#    include "internal/glue_algorithm_defs.h"
-#    define _PSTL_ALGORITHM_FORWARD_DECLARED 1
-#endif
-
-#endif /* _PSTL_ALGORITHM */

Removed: pstl/trunk/include/pstl/execution
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/include/pstl/execution?rev=358496&view=auto
==============================================================================
--- pstl/trunk/include/pstl/execution (original)
+++ pstl/trunk/include/pstl/execution (removed)
@@ -1,48 +0,0 @@
-// -*- C++ -*-
-//===-- execution ---------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _PSTL_EXECUTION
-#define _PSTL_EXECUTION
-
-#include "internal/pstl_config.h"
-#include "internal/execution_defs.h"
-
-#define _PSTL_EXECUTION_POLICIES_DEFINED 1
-
-#if _PSTL_ALGORITHM_FORWARD_DECLARED
-#    include "internal/glue_algorithm_impl.h"
-#endif
-
-#if _PSTL_MEMORY_FORWARD_DECLARED
-#    include "internal/glue_memory_impl.h"
-#endif
-
-#if _PSTL_NUMERIC_FORWARD_DECLARED
-#    include "internal/glue_numeric_impl.h"
-#endif
-
-#if _PSTL_CPP17_EXECUTION_POLICIES_PRESENT
-_PSTL_PRAGMA_MESSAGE_POLICIES("The <Parallel STL> execution policies are defined in the namespace __pstl::execution")
-#else
-#    include "internal/glue_execution_defs.h"
-_PSTL_PRAGMA_MESSAGE_POLICIES(
-    "The <Parallel STL> execution policies are injected into the standard namespace std::execution")
-#endif
-
-//TODO: __pstl::execution namespace is injected into the pstl::execution namespace when the implementation is not a part of
-// standard C++ library
-namespace pstl
-{
-namespace execution
-{
-using namespace __pstl::execution;
-}
-} // namespace pstl
-
-#endif /* _PSTL_EXECUTION */

Removed: pstl/trunk/include/pstl/memory
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/include/pstl/memory?rev=358496&view=auto
==============================================================================
--- pstl/trunk/include/pstl/memory (original)
+++ pstl/trunk/include/pstl/memory (removed)
@@ -1,24 +0,0 @@
-// -*- C++ -*-
-//===-- memory ------------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _PSTL_MEMORY
-#define _PSTL_MEMORY
-
-#include "internal/pstl_config.h"
-
-#if _PSTL_EXECUTION_POLICIES_DEFINED
-// If <execution> has already been included, pull in implementations
-#    include "internal/glue_memory_impl.h"
-#else
-// Otherwise just pull in forward declarations
-#    include "internal/glue_memory_defs.h"
-#    define _PSTL_MEMORY_FORWARD_DECLARED 1
-#endif
-
-#endif /* _PSTL_MEMORY */

Removed: pstl/trunk/include/pstl/numeric
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/include/pstl/numeric?rev=358496&view=auto
==============================================================================
--- pstl/trunk/include/pstl/numeric (original)
+++ pstl/trunk/include/pstl/numeric (removed)
@@ -1,24 +0,0 @@
-// -*- C++ -*-
-//===-- numeric -----------------------------------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef _PSTL_NUMERIC
-#define _PSTL_NUMERIC
-
-#include "internal/pstl_config.h"
-
-#if _PSTL_EXECUTION_POLICIES_DEFINED
-// If <execution> has already been included, pull in implementations
-#    include "internal/glue_numeric_impl.h"
-#else
-// Otherwise just pull in forward declarations
-#    include "internal/glue_numeric_defs.h"
-#    define _PSTL_NUMERIC_FORWARD_DECLARED 1
-#endif
-
-#endif /* _PSTL_NUMERIC */

Modified: pstl/trunk/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/CMakeLists.txt?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/CMakeLists.txt (original)
+++ pstl/trunk/test/CMakeLists.txt Tue Apr 16 07:38:08 2019
@@ -18,6 +18,10 @@ add_custom_target(check-pstl
     DEPENDS pstl-build-tests
     COMMENT "Build and run all the unit tests.")
 
+add_library(test_stdlib INTERFACE)
+target_include_directories(test_stdlib INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/support/stdlib")
+target_link_libraries(test_stdlib INTERFACE pstl::ParallelSTL)
+
 file(GLOB_RECURSE UNIT_TESTS "*.pass.cpp")
 foreach(_file IN LISTS UNIT_TESTS)
     file(RELATIVE_PATH _target "${CMAKE_CURRENT_SOURCE_DIR}" "${_file}")
@@ -27,8 +31,7 @@ foreach(_file IN LISTS UNIT_TESTS)
 
     add_executable(${_target} EXCLUDE_FROM_ALL "${_file}")
     target_include_directories(${_target} PRIVATE "${CMAKE_CURRENT_LIST_DIR}")
-    target_link_libraries(${_target} PRIVATE pstl::ParallelSTL)
-    target_compile_definitions(${_target} PRIVATE -DPSTL_STANDALONE_TESTS)
+    target_link_libraries(${_target} PRIVATE test_stdlib)
     set_target_properties(${_target} PROPERTIES CXX_EXTENSIONS NO
                                                 RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
     add_test(${_target} "${CMAKE_CURRENT_BINARY_DIR}/${_target}")

Modified: pstl/trunk/test/pstl/header_inclusion_order_algorithm_0.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/pstl/header_inclusion_order_algorithm_0.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/pstl/header_inclusion_order_algorithm_0.pass.cpp (original)
+++ pstl/trunk/test/pstl/header_inclusion_order_algorithm_0.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 int32_t
 main()

Modified: pstl/trunk/test/pstl/header_inclusion_order_algorithm_1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/pstl/header_inclusion_order_algorithm_1.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/pstl/header_inclusion_order_algorithm_1.pass.cpp (original)
+++ pstl/trunk/test/pstl/header_inclusion_order_algorithm_1.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/algorithm"
-#include "pstl/execution"
-#else
 #include <algorithm>
 #include <execution>
-#endif // PSTL_STANDALONE_TESTS
 
 int32_t
 main()

Modified: pstl/trunk/test/pstl/header_inclusion_order_memory_0.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/pstl/header_inclusion_order_memory_0.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/pstl/header_inclusion_order_memory_0.pass.cpp (original)
+++ pstl/trunk/test/pstl/header_inclusion_order_memory_0.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/memory"
-#else
 #include <execution>
 #include <memory>
-#endif // PSTL_STANDALONE_TESTS
 
 int32_t
 main()

Modified: pstl/trunk/test/pstl/header_inclusion_order_memory_1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/pstl/header_inclusion_order_memory_1.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/pstl/header_inclusion_order_memory_1.pass.cpp (original)
+++ pstl/trunk/test/pstl/header_inclusion_order_memory_1.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/memory"
-#include "pstl/execution"
-#else
 #include <memory>
 #include <execution>
-#endif // PSTL_STANDALONE_TESTS
 
 int32_t
 main()

Modified: pstl/trunk/test/pstl/header_inclusion_order_numeric_0.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/pstl/header_inclusion_order_numeric_0.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/pstl/header_inclusion_order_numeric_0.pass.cpp (original)
+++ pstl/trunk/test/pstl/header_inclusion_order_numeric_0.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
 #include <execution>
 #include <numeric>
-#endif // PSTL_STANDALONE_TESTS
 
 int32_t
 main()

Modified: pstl/trunk/test/pstl/header_inclusion_order_numeric_1.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/pstl/header_inclusion_order_numeric_1.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/pstl/header_inclusion_order_numeric_1.pass.cpp (original)
+++ pstl/trunk/test/pstl/header_inclusion_order_numeric_1.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/numeric"
-#include "pstl/execution"
-#else
 #include <numeric>
 #include <execution>
-#endif // PSTL_STANDALONE_TESTS
 
 int32_t
 main()

Modified: pstl/trunk/test/std/algorithms/alg.merge/inplace_merge.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.merge/inplace_merge.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.merge/inplace_merge.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.merge/inplace_merge.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,15 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include <algorithm>
-#include "pstl/execution"
-#include "pstl/algorithm"
-
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.merge/merge.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.merge/merge.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.merge/merge.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.merge/merge.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,16 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include <algorithm>
-#include <functional>
-#include "pstl/execution"
-#include "pstl/algorithm"
-
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
+#include <functional>
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.copy/copy_if.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,13 +10,8 @@
 // Tests for copy_if and remove_copy_if
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/is_partitioned.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,19 +10,13 @@
 // Tests for stable_partition and partition
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
-
-#include "support/utils.h"
-
 #include <iterator>
 #include <type_traits>
 
+#include "support/utils.h"
+
 using namespace TestUtils;
 
 template <typename T>

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.partitions/partition_copy.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,19 +10,13 @@
 // Tests for stable_partition and partition_copy
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
-
-#include "support/utils.h"
-
 #include <cstdlib>
 #include <iterator>
 
+#include "support/utils.h"
+
 using namespace TestUtils;
 
 struct test_partition_copy

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,15 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
 #include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/alg.reverse/reverse_copy.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,15 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
 #include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/copy_move.pass.cpp Tue Apr 16 07:38:08 2019
@@ -11,13 +11,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/fill.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/fill.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/fill.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/fill.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,14 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/generate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/generate.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/generate.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/generate.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,15 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
 #include <atomic>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/remove.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/remove.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/remove.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/remove.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,13 +10,8 @@
 // Test for remove, remove_if
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/remove_copy.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,14 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/replace.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/replace.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/replace.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/replace.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/replace_copy.pass.cpp Tue Apr 16 07:38:08 2019
@@ -11,13 +11,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,15 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
 #include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/rotate_copy.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,15 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
 #include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/swap_ranges.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,15 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
 #include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_binary.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/transform_unary.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/unique.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/unique.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/unique.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/unique.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,13 +10,8 @@
 // Test for unique
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.modifying.operations/unique_copy_equal.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,13 +10,8 @@
 // Tests for unique_copy
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/adjacent_find.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,14 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/all_of.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/any_of.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/count.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/count.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/count.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/count.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,13 +10,8 @@
 // Tests for count and count_if
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/equal.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/equal.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/equal.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/find.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/find.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/find.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/find.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,13 +10,8 @@
 // Tests for find
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/find_end.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/find_first_of.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/find_if.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,13 +10,8 @@
 // Tests for find_if and find_if_not
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/for_each.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/mismatch.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,17 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#include "pstl/numeric"
-#include "pstl/memory"
-
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/none_of.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/nth_element.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,16 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include <algorithm>
 #include <iostream>
-#include "pstl/execution"
-#include "pstl/algorithm"
-
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.nonmodifying/search_n.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.sorting/alg.heap.operations/is_heap.pass.cpp Tue Apr 16 07:38:08 2019
@@ -10,13 +10,8 @@
 // Tests for is_heap, is_heap_until
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 #include <iostream>

Modified: pstl/trunk/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.sorting/alg.lex.comparison/lexicographical_compare.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,15 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
 #include <iostream>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.sorting/alg.min.max/minmax_element.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,21 +9,14 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
-
-#include "support/utils.h"
-
 #include <set>
 #include <cassert>
 #include <cmath>
 
+#include "support/utils.h"
+
 using namespace TestUtils;
 
 struct check_minelement

Modified: pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/includes.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,16 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
 #include <cmath>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.sorting/alg.set.operations/set.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,17 +9,10 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
 #include <cmath>
 #include <chrono>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.sorting/is_sorted.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.sorting/is_sorted.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.sorting/is_sorted.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.sorting/is_sorted.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,14 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.sorting/partial_sort.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.sorting/partial_sort.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.sorting/partial_sort.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.sorting/partial_sort.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,16 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
 #include <cmath>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.sorting/partial_sort_copy.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,16 +9,11 @@
 
 // Tests for partial_sort_copy
 
-#include <cmath>
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
+#include <cmath>
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/algorithms/alg.sorting/sort.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/algorithms/alg.sorting/sort.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/algorithms/alg.sorting/sort.pass.cpp (original)
+++ pstl/trunk/test/std/algorithms/alg.sorting/sort.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,14 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#else
 #include <execution>
 #include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp (original)
+++ pstl/trunk/test/std/numerics/numeric.ops/adjacent_difference.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,16 +9,9 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
 #include <iterator>
-
-#include "pstl/execution"
-#include "pstl/algorithm"
-#include "pstl/numeric"
-#else
 #include <execution>
-#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
+#include <numeric>
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/numerics/numeric.ops/reduce.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/numerics/numeric.ops/reduce.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/numerics/numeric.ops/reduce.pass.cpp (original)
+++ pstl/trunk/test/std/numerics/numeric.ops/reduce.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
 #include <execution>
 #include <numeric>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/numerics/numeric.ops/scan.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/numerics/numeric.ops/scan.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/numerics/numeric.ops/scan.pass.cpp (original)
+++ pstl/trunk/test/std/numerics/numeric.ops/scan.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
 #include <execution>
 #include <numeric>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/numerics/numeric.ops/transform_reduce.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/numerics/numeric.ops/transform_reduce.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/numerics/numeric.ops/transform_reduce.pass.cpp (original)
+++ pstl/trunk/test/std/numerics/numeric.ops/transform_reduce.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,14 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
 #include <execution>
 #include <numeric>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/numerics/numeric.ops/transform_scan.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/numerics/numeric.ops/transform_scan.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/numerics/numeric.ops/transform_scan.pass.cpp (original)
+++ pstl/trunk/test/std/numerics/numeric.ops/transform_scan.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,13 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/numeric"
-#else
 #include <execution>
 #include <numeric>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp (original)
+++ pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_construct.pass.cpp Tue Apr 16 07:38:08 2019
@@ -12,13 +12,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/memory"
-#else
 #include <execution>
 #include <memory>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp (original)
+++ pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_copy_move.pass.cpp Tue Apr 16 07:38:08 2019
@@ -11,13 +11,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-#include "pstl/execution"
-#include "pstl/memory"
-#else
 #include <execution>
 #include <memory>
-#endif // PSTL_STANDALONE_TESTS
 
 #include "support/utils.h"
 

Modified: pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp?rev=358497&r1=358496&r2=358497&view=diff
==============================================================================
--- pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp (original)
+++ pstl/trunk/test/std/utilities/memory/specialized.algorithms/uninitialized_fill_destroy.pass.cpp Tue Apr 16 07:38:08 2019
@@ -9,15 +9,8 @@
 
 #include "support/pstl_test_config.h"
 
-#ifdef PSTL_STANDALONE_TESTS
-
-#include "pstl/execution"
-#include "pstl/memory"
-#include "pstl/algorithm"
-#else
 #include <execution>
-#include <algorithm>
-#endif // PSTL_STANDALONE_TESTS
+#include <memory>
 
 #include "support/utils.h"
 

Added: pstl/trunk/test/support/stdlib/algorithm
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/support/stdlib/algorithm?rev=358497&view=auto
==============================================================================
--- pstl/trunk/test/support/stdlib/algorithm (added)
+++ pstl/trunk/test/support/stdlib/algorithm Tue Apr 16 07:38:08 2019
@@ -0,0 +1,26 @@
+// -*- C++ -*-
+//===-- algorithm ---------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _TEST_SUPPORT_STDLIB_ALGORITHM
+#define _TEST_SUPPORT_STDLIB_ALGORITHM
+
+#include_next <algorithm>
+
+#include <pstl/internal/pstl_config.h>
+
+#if _PSTL_EXECUTION_POLICIES_DEFINED
+// If <execution> has already been included, pull in implementations
+#    include <pstl/internal/glue_algorithm_impl.h>
+#else
+// Otherwise just pull in forward declarations
+#    include <pstl/internal/glue_algorithm_defs.h>
+#    define _PSTL_ALGORITHM_FORWARD_DECLARED 1
+#endif
+
+#endif /* _TEST_SUPPORT_STDLIB_ALGORITHM */

Added: pstl/trunk/test/support/stdlib/execution
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/support/stdlib/execution?rev=358497&view=auto
==============================================================================
--- pstl/trunk/test/support/stdlib/execution (added)
+++ pstl/trunk/test/support/stdlib/execution Tue Apr 16 07:38:08 2019
@@ -0,0 +1,50 @@
+// -*- C++ -*-
+//===-- execution ---------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _TEST_SUPPORT_STDLIB_EXECUTION
+#define _TEST_SUPPORT_STDLIB_EXECUTION
+
+// #include_next <execution> // None of the standard libraries PSTL is built on top have the <execution> header yet.
+
+#include <pstl/internal/pstl_config.h>
+#include <pstl/internal/execution_defs.h>
+
+#define _PSTL_EXECUTION_POLICIES_DEFINED 1
+
+#if _PSTL_ALGORITHM_FORWARD_DECLARED
+#    include <pstl/internal/glue_algorithm_impl.h>
+#endif
+
+#if _PSTL_MEMORY_FORWARD_DECLARED
+#    include <pstl/internal/glue_memory_impl.h>
+#endif
+
+#if _PSTL_NUMERIC_FORWARD_DECLARED
+#    include <pstl/internal/glue_numeric_impl.h>
+#endif
+
+#if _PSTL_CPP17_EXECUTION_POLICIES_PRESENT
+_PSTL_PRAGMA_MESSAGE_POLICIES("The <Parallel STL> execution policies are defined in the namespace __pstl::execution")
+#else
+#    include <pstl/internal/glue_execution_defs.h>
+_PSTL_PRAGMA_MESSAGE_POLICIES(
+    "The <Parallel STL> execution policies are injected into the standard namespace std::execution")
+#endif
+
+//TODO: __pstl::execution namespace is injected into the pstl::execution namespace when the implementation is not a part of
+// standard C++ library
+namespace pstl
+{
+namespace execution
+{
+using namespace __pstl::execution;
+}
+} // namespace pstl
+
+#endif /* _TEST_SUPPORT_STDLIB_EXECUTION */

Added: pstl/trunk/test/support/stdlib/memory
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/support/stdlib/memory?rev=358497&view=auto
==============================================================================
--- pstl/trunk/test/support/stdlib/memory (added)
+++ pstl/trunk/test/support/stdlib/memory Tue Apr 16 07:38:08 2019
@@ -0,0 +1,26 @@
+// -*- C++ -*-
+//===-- memory ------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _TEST_SUPPORT_STDLIB_MEMORY
+#define _TEST_SUPPORT_STDLIB_MEMORY
+
+#include_next <memory>
+
+#include <pstl/internal/pstl_config.h>
+
+#if _PSTL_EXECUTION_POLICIES_DEFINED
+// If <execution> has already been included, pull in implementations
+#    include <pstl/internal/glue_memory_impl.h>
+#else
+// Otherwise just pull in forward declarations
+#    include <pstl/internal/glue_memory_defs.h>
+#    define _PSTL_MEMORY_FORWARD_DECLARED 1
+#endif
+
+#endif /* _TEST_SUPPORT_STDLIB_MEMORY */

Added: pstl/trunk/test/support/stdlib/numeric
URL: http://llvm.org/viewvc/llvm-project/pstl/trunk/test/support/stdlib/numeric?rev=358497&view=auto
==============================================================================
--- pstl/trunk/test/support/stdlib/numeric (added)
+++ pstl/trunk/test/support/stdlib/numeric Tue Apr 16 07:38:08 2019
@@ -0,0 +1,26 @@
+// -*- C++ -*-
+//===-- numeric -----------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef _TEST_SUPPORT_STDLIB_NUMERIC
+#define _TEST_SUPPORT_STDLIB_NUMERIC
+
+#include_next <numeric>
+
+#include <pstl/internal/pstl_config.h>
+
+#if _PSTL_EXECUTION_POLICIES_DEFINED
+// If <execution> has already been included, pull in implementations
+#    include <pstl/internal/glue_numeric_impl.h>
+#else
+// Otherwise just pull in forward declarations
+#    include <pstl/internal/glue_numeric_defs.h>
+#    define _PSTL_NUMERIC_FORWARD_DECLARED 1
+#endif
+
+#endif /* _TEST_SUPPORT_STDLIB_NUMERIC */




More information about the libcxx-commits mailing list