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/transitive_includes/cxx2b/expected.algorithm | 3 --- libcxx/test/libcxx/transitive_includes/cxx2b/expected.any | 3 --- .../test/libcxx/transitive_includes/cxx2b/expected.barrier | 3 --- .../test/libcxx/transitive_includes/cxx2b/expected.bitset | 1 - .../transitive_includes/cxx2b/expected.condition_variable | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque | 1 - .../cxx2b/expected.experimental_algorithm | 3 --- .../libcxx/transitive_includes/cxx2b/expected.forward_list | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.list | 1 - .../test/libcxx/transitive_includes/cxx2b/expected.memory | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue | 1 - .../test/libcxx/transitive_includes/cxx2b/expected.random | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.set | 1 - .../libcxx/transitive_includes/cxx2b/expected.shared_mutex | 1 - libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack | 1 - .../test/libcxx/transitive_includes/cxx2b/expected.string | 1 - .../libcxx/transitive_includes/cxx2b/expected.system_error | 1 - .../libcxx/transitive_includes/cxx2b/expected.unordered_set | 1 - .../test/libcxx/transitive_includes/cxx2b/expected.vector | 1 - .../algorithms/alg.sorting/alg.min.max/minmax_comp.pass.cpp | 3 ++- .../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 ++- .../func.bind/func.bind.isplace/specialization.pass.cpp | 3 ++- .../function.objects/func.identity/identity.pass.cpp | 1 + .../func.wrap.func.con/alloc_rfunction.verify.cpp | 3 ++- .../func.wrap.func/func.wrap.func.con/copy_assign.pass.cpp | 3 ++- .../func.wrap.func/func.wrap.func.con/copy_move.pass.cpp | 1 + .../utilities/function.objects/range.cmp/equal_to.pass.cpp | 3 ++- .../utilities/function.objects/range.cmp/greater.pass.cpp | 3 ++- .../function.objects/range.cmp/greater_equal.pass.cpp | 3 ++- .../std/utilities/function.objects/range.cmp/less.pass.cpp | 3 ++- .../function.objects/range.cmp/less_equal.pass.cpp | 3 ++- .../function.objects/range.cmp/not_equal_to.pass.cpp | 3 ++- .../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 7346c8d78d9c..9dd42f8d6eb6 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 a35642bcbdc5..6fbd0e1ab369 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 ab2c62ddda4c..4c4e02dd702b 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 af06e12efc9d..53858f0bed9e 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 626b4a41fe97..49feb6821f20 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 83db015ba8c5..20025bde4120 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 1c742b1972d3..9b0f96398db8 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 4b6b70f55a15..0ead270e3dae 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 626b4a41fe97..22069ebe466d 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 313807ad9490..90b8039f7343 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 626b4a41fe97..22069ebe466d 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 626b4a41fe97..22069ebe466d 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 626b4a41fe97..22069ebe466d 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 616c41e5e2fb..1fa8ec3664bc 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 0dca23ef4024..aaf59ed27463 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 573d3aa59bcf..d035ad9ed9b2 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 8ec7c41bca45..c0575fd4fca9 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 c64611690bae..5d834c3613ca 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 0b7d2f2c92e9..573ee5a4a739 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 fd9ba21f30aa..5892e99104dd 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 573d3aa59bcf..d035ad9ed9b2 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 626b4a41fe97..22069ebe466d 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 38ee5a96e520..0f51df20a992 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 8da2b964b7e3..46c2a42349df 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 780cd6e0c58d..0ba6e01ee9e9 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 cd0457f5dc12..32279ac33929 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 e0a6c6a95bab..0e0437bcab07 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 59b6fc8eadf9..1cce31b831ad 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 596b74a88b8b..b04b958f86a2 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 9d6d12373829..b1bf69ef1774 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 ccfc37a33dd8..70a1b3afd7d3 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 9588313ca0af..6d207548b217 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 d63b2450cf2a..002ec10e07af 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 ffa3c9472836..ad24a98a168c 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 61feee4d3f40..5afb7e0ebdef 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 2c770484c5c7..3aa903fa6321 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 f4ce329d8af2..4b46bae76ce4 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 4fbbbb1e54c2..23c8c6447861 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 baf1b50cfd8b..11c1f9abfd8b 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"