blob: ad18c450115a1722302cdf1a34c13c535d43ef9b [file] [log] [blame]
// -*- 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 */