Fix header inclusion order failures

Summary: See https://bugs.llvm.org/show_bug.cgi?id=41432

Subscribers: libcxx-commits

Tags: #libc

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

llvm-svn: 358121
This commit is contained in:
Louis Dionne 2019-04-10 18:52:24 +00:00
parent 59a0e04701
commit e3e24ad25f
11 changed files with 153 additions and 0 deletions

View File

@ -11,6 +11,7 @@
#define __PSTL_glue_algorithm_defs_H
#include <functional>
#include <iterator>
#include "execution_defs.h"

View File

@ -17,6 +17,8 @@
#include "algorithm_fwd.h"
#include "numeric_fwd.h" /* count and count_if use __pattern_transform_reduce */
#include "execution_impl.h"
namespace std
{

View File

@ -10,9 +10,12 @@
#ifndef __PSTL_glue_memory_impl_H
#define __PSTL_glue_memory_impl_H
#include "execution_defs.h"
#include "utils.h"
#include "algorithm_fwd.h"
#include "execution_impl.h"
namespace std
{

View File

@ -10,6 +10,8 @@
#ifndef __PSTL_glue_numeric_defs_H
#define __PSTL_glue_numeric_defs_H
#include <iterator>
#include "execution_defs.h"
namespace std

View File

@ -14,6 +14,7 @@
#include "utils.h"
#include "numeric_fwd.h"
#include "execution_impl.h"
namespace std
{

View File

@ -0,0 +1,24 @@
// -*- C++ -*-
//===-- header_inclusion_order_algorithm_0.pass.cpp -----------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
#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()
{
return 0;
}

View File

@ -0,0 +1,24 @@
// -*- C++ -*-
//===-- header_inclusion_order_algorithm_1.pass.cpp -----------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
#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()
{
return 0;
}

View File

@ -0,0 +1,24 @@
// -*- C++ -*-
//===-- header_inclusion_order_memory_0.pass.cpp --------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
#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()
{
return 0;
}

View File

@ -0,0 +1,24 @@
// -*- C++ -*-
//===-- header_inclusion_order_memory_1.pass.cpp --------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
#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()
{
return 0;
}

View File

@ -0,0 +1,24 @@
// -*- C++ -*-
//===-- header_inclusion_order_numeric_0.pass.cpp -------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
#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()
{
return 0;
}

View File

@ -0,0 +1,24 @@
// -*- C++ -*-
//===-- header_inclusion_order_numeric_0.pass.cpp -------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//
#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()
{
return 0;
}