From 7afa1598a38103f9b940f219d7c2bef578139e94 Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Sat, 17 Sep 2022 14:30:29 +0200 Subject: [PATCH] [libc++] Avoid including in compressed_pair.h compressed_pair is widely used in the library, but most of the uses don't use the tuple parts. To avoid including everywhere, use the forward declaration instead in compressed_pair.h Reviewed By: ldionne, #libc Spies: libcxx-commits Differential Revision: https://reviews.llvm.org/D133331 --- libcxx/include/__memory/compressed_pair.h | 5 ++++- libcxx/include/__string/char_traits.h | 6 +++--- libcxx/include/functional | 2 +- libcxx/test/libcxx/transitive_includes/cxx2b/expected.algorithm | 3 --- libcxx/test/libcxx/transitive_includes/cxx2b/expected.any | 3 --- libcxx/test/libcxx/transitive_includes/cxx2b/expected.barrier | 3 --- libcxx/test/libcxx/transitive_includes/cxx2b/expected.bitset | 1 - .../libcxx/transitive_includes/cxx2b/expected.condition_variable | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque | 1 - .../transitive_includes/cxx2b/expected.experimental_algorithm | 3 --- libcxx/test/libcxx/transitive_includes/cxx2b/expected.forward_list | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.list | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.memory | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.random | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.set | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.shared_mutex | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.string | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.system_error | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_set | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.vector | 1 - .../std/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp | 3 ++- .../alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp | 1 + .../bind/func.bind/func.bind.bind/bind_return_type.pass.cpp | 3 ++- .../bind/func.bind/func.bind.isbind/specialization.pass.cpp | 3 ++- .../bind/func.bind/func.bind.isplace/specialization.pass.cpp | 3 ++- .../std/utilities/function.objects/func.identity/identity.pass.cpp | 1 + .../func.wrap.func/func.wrap.func.con/alloc_rfunction.verify.cpp | 3 ++- .../func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp | 3 ++- .../func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp | 1 + .../test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp | 3 ++- .../test/std/utilities/function.objects/range.cmp/greater.pass.cpp | 3 ++- .../std/utilities/function.objects/range.cmp/greater_equal.pass.cpp | 3 ++- libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp | 3 ++- .../std/utilities/function.objects/range.cmp/less_equal.pass.cpp | 3 ++- .../std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp | 3 ++- .../utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp | 3 ++- libcxx/test/support/container_test_types.h | 3 ++- 39 files changed, 39 insertions(+), 46 deletions(-) diff --git a/libcxx/include/__memory/compressed_pair.h b/libcxx/include/__memory/compressed_pair.h index 7346c8d..9dd42f8 100644 --- a/libcxx/include/__memory/compressed_pair.h +++ b/libcxx/include/__memory/compressed_pair.h @@ -11,10 +11,13 @@ #define _LIBCPP___MEMORY_COMPRESSED_PAIR_H #include <__config> +#include <__fwd/get.h> +#include <__fwd/tuple.h> +#include <__tuple/tuple_indices.h> #include <__type_traits/dependent_type.h> #include <__utility/forward.h> #include <__utility/move.h> -#include // needed in c++03 for some constructors +#include <__utility/piecewise_construct.h> #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/__string/char_traits.h b/libcxx/include/__string/char_traits.h index a35642b..6fbd0e1 100644 --- a/libcxx/include/__string/char_traits.h +++ b/libcxx/include/__string/char_traits.h @@ -14,15 +14,15 @@ #include <__algorithm/find_end.h> #include <__algorithm/find_first_of.h> #include <__algorithm/min.h> +#include <__compare/ordering.h> #include <__config> #include <__functional/hash.h> #include <__iterator/iterator_traits.h> -#include +#include <__type_traits/is_constant_evaluated.h> +#include #include #include -#include #include -#include #ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS # include // for wmemcpy diff --git a/libcxx/include/functional b/libcxx/include/functional index ab2c62d..4c4e02d 100644 --- a/libcxx/include/functional +++ b/libcxx/include/functional @@ -534,7 +534,6 @@ POLICY: For non-variadic implementations, the number of arguments is limited #include #include #include // TODO: find out why removing this breaks the modules build -#include #include #include #include @@ -544,6 +543,7 @@ POLICY: For non-variadic implementations, the number of arguments is limited #endif #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 +# include # include #endif diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.algorithm b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.algorithm index af06e12e..53858f0 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.algorithm +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.algorithm @@ -1,7 +1,5 @@ bit climits -cmath -compare concepts cstddef cstdint @@ -12,6 +10,5 @@ initializer_list iosfwd limits new -tuple type_traits version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.any b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.any index 626b4a4..49feb68 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.any +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.any @@ -1,7 +1,5 @@ atomic climits -cmath -compare concepts cstddef cstdint @@ -15,7 +13,6 @@ limits new ratio stdexcept -tuple type_traits typeinfo version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.barrier b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.barrier index 83db015..20025bd 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.barrier +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.barrier @@ -1,7 +1,5 @@ atomic climits -cmath -compare cstddef cstdint cstdlib @@ -12,6 +10,5 @@ iosfwd limits new ratio -tuple type_traits version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bitset b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bitset index 1c742b1..9b0f963 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bitset +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bitset @@ -18,6 +18,5 @@ new stdexcept string string_view -tuple type_traits version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.condition_variable index 4b6b70f..0ead270 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.condition_variable +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.condition_variable @@ -23,7 +23,6 @@ stdexcept string string_view system_error -tuple type_traits typeinfo version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque index 626b4a4..22069eb 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque @@ -15,7 +15,6 @@ limits new ratio stdexcept -tuple type_traits typeinfo version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_algorithm index 313807a..90b8039 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_algorithm +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_algorithm @@ -1,8 +1,6 @@ algorithm bit climits -cmath -compare concepts cstddef cstdint @@ -13,6 +11,5 @@ initializer_list iosfwd limits new -tuple type_traits version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.forward_list b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.forward_list index 626b4a4..22069eb 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.forward_list +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.forward_list @@ -15,7 +15,6 @@ limits new ratio stdexcept -tuple type_traits typeinfo version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.list b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.list index 626b4a4..22069eb 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.list +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.list @@ -15,7 +15,6 @@ limits new ratio stdexcept -tuple type_traits typeinfo version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.memory b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.memory index 626b4a4..22069eb 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.memory +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.memory @@ -15,7 +15,6 @@ limits new ratio stdexcept -tuple type_traits typeinfo version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue index 616c41e..1fa8ec3 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue @@ -16,7 +16,6 @@ limits new ratio stdexcept -tuple type_traits typeinfo vector diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.random b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.random index 0dca23e..aaf59ed 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.random +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.random @@ -23,7 +23,6 @@ ratio stdexcept string string_view -tuple type_traits typeinfo vector diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.set b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.set index 573d3aa..d035ad9 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.set +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.set @@ -12,6 +12,5 @@ limits new optional stdexcept -tuple type_traits version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.shared_mutex index 8ec7c41..c0575fd 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.shared_mutex +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.shared_mutex @@ -22,6 +22,5 @@ stdexcept string string_view system_error -tuple type_traits version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack index c646116..5d834c3 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack @@ -16,7 +16,6 @@ limits new ratio stdexcept -tuple type_traits typeinfo version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string index 0b7d2f2..573ee5a 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string @@ -17,6 +17,5 @@ limits new stdexcept string_view -tuple type_traits version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.system_error b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.system_error index fd9ba21..5892e99 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.system_error +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.system_error @@ -19,6 +19,5 @@ new stdexcept string string_view -tuple type_traits version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_set index 573d3aa..d035ad9 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_set +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_set @@ -12,6 +12,5 @@ limits new optional stdexcept -tuple type_traits version diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.vector b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.vector index 626b4a4..22069eb 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.vector +++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.vector @@ -15,7 +15,6 @@ limits new ratio stdexcept -tuple type_traits typeinfo version diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp index 38ee5a9..0f51df2 100644 --- a/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp @@ -14,8 +14,9 @@ // minmax(const T& a, const T& b, Compare comp); #include -#include #include +#include +#include #include "test_macros.h" diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp index 8da2b96..46c2a42 100644 --- a/libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.sort/stable.sort/stable_sort_comp.pass.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp index 780cd6e..0ba6e01 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/bind_return_type.pass.cpp @@ -19,9 +19,10 @@ // only SFINAE away when too few arguments are provided. Otherwise they should // be well formed and should ignore any additional arguments. +#include #include #include -#include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/specialization.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/specialization.pass.cpp index cd0457f..32279ac 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/specialization.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isbind/specialization.pass.cpp @@ -16,9 +16,10 @@ // be treated as a subexpression in a bind call. // https://llvm.org/PR51753 -#include #include +#include #include +#include struct MyBind { int operator()(int x, int y) const { return 10*x + y; } diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/specialization.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/specialization.pass.cpp index e0a6c6a..0e0437b 100644 --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/specialization.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.isplace/specialization.pass.cpp @@ -16,9 +16,10 @@ // to indicate that T should be treated as a placeholder type. // https://llvm.org/PR51753 -#include #include +#include #include +#include struct My2 {}; template<> struct std::is_placeholder : std::integral_constant {}; diff --git a/libcxx/test/std/utilities/function.objects/func.identity/identity.pass.cpp b/libcxx/test/std/utilities/function.objects/func.identity/identity.pass.cpp index 59b6fc8..1cce31b 100644 --- a/libcxx/test/std/utilities/function.objects/func.identity/identity.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.identity/identity.pass.cpp @@ -14,6 +14,7 @@ #include #include +#include #include "MoveOnly.h" diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.verify.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.verify.cpp index 596b74a..b04b958 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.verify.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_rfunction.verify.cpp @@ -16,9 +16,10 @@ // // This signature was removed in C++17 +#include #include #include -#include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp index 9d6d123..b1bf69e 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp @@ -15,8 +15,9 @@ // This test runs in C++03, but we have deprecated using std::function in C++03. // ADDITIONAL_COMPILE_FLAGS: -D_LIBCPP_DISABLE_DEPRECATION_WARNINGS -D_LIBCPP_ENABLE_CXX03_FUNCTION -#include #include +#include +#include #include "test_macros.h" #include "count_new.h" diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp index ccfc37a..70a1b3a 100644 --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/copy_move.pass.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include "test_macros.h" #include "count_new.h" diff --git a/libcxx/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp b/libcxx/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp index 9588313..6d20754 100644 --- a/libcxx/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/range.cmp/equal_to.pass.cpp @@ -12,9 +12,10 @@ // ranges::equal_to +#include #include #include -#include +#include #include "test_macros.h" #include "compare_types.h" diff --git a/libcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp b/libcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp index d63b245..002ec10 100644 --- a/libcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp @@ -12,9 +12,10 @@ // ranges::greater +#include #include #include -#include +#include #include "test_macros.h" #include "compare_types.h" diff --git a/libcxx/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp b/libcxx/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp index ffa3c94..ad24a98 100644 --- a/libcxx/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/range.cmp/greater_equal.pass.cpp @@ -12,9 +12,10 @@ // ranges::greater_equal +#include #include #include -#include +#include #include "test_macros.h" #include "compare_types.h" diff --git a/libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp b/libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp index 61feee4..5afb7e0 100644 --- a/libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp @@ -12,9 +12,10 @@ // ranges::less +#include #include #include -#include +#include #include "test_macros.h" #include "compare_types.h" diff --git a/libcxx/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp b/libcxx/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp index 2c77048..3aa903f 100644 --- a/libcxx/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/range.cmp/less_equal.pass.cpp @@ -12,9 +12,10 @@ // ranges::less_equal +#include #include #include -#include +#include #include "test_macros.h" #include "compare_types.h" diff --git a/libcxx/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp b/libcxx/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp index f4ce329..4b46bae 100644 --- a/libcxx/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/range.cmp/not_equal_to.pass.cpp @@ -12,9 +12,10 @@ // ranges::not_equal_to +#include #include #include -#include +#include #include "test_macros.h" #include "compare_types.h" diff --git a/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp b/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp index 4fbbbb1..23c8c64 100644 --- a/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp +++ b/libcxx/test/std/utilities/memory/storage.iterator/raw_storage_iterator.pass.cpp @@ -11,9 +11,10 @@ // raw_storage_iterator +#include #include #include -#include +#include #include "test_macros.h" #include diff --git a/libcxx/test/support/container_test_types.h b/libcxx/test/support/container_test_types.h index baf1b50..11c1f9a 100644 --- a/libcxx/test/support/container_test_types.h +++ b/libcxx/test/support/container_test_types.h @@ -84,9 +84,10 @@ * */ -#include #include +#include #include +#include #include "test_macros.h" -- 2.7.4