diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt --- a/libcxx/include/CMakeLists.txt +++ b/libcxx/include/CMakeLists.txt @@ -103,7 +103,6 @@ __format/format_error.h __format/format_parse_context.h __function_like.h - __functional_base __functional/binary_function.h __functional/binary_negate.h __functional/bind_front.h diff --git a/libcxx/include/__functional/bind.h b/libcxx/include/__functional/bind.h --- a/libcxx/include/__functional/bind.h +++ b/libcxx/include/__functional/bind.h @@ -17,6 +17,7 @@ #include #include #include +#include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) #pragma GCC system_header diff --git a/libcxx/include/__functional_base b/libcxx/include/__functional_base deleted file mode 100644 --- a/libcxx/include/__functional_base +++ /dev/null @@ -1,31 +0,0 @@ -// -*- C++ -*- -//===----------------------------------------------------------------------===// -// -// 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 _LIBCPP_FUNCTIONAL_BASE -#define _LIBCPP_FUNCTIONAL_BASE - -#include <__config> -#include <__functional/binary_function.h> -#include <__functional/invoke.h> -#include <__functional/operations.h> -#include <__functional/reference_wrapper.h> -#include <__functional/unary_function.h> -#include <__functional/weak_result_type.h> -#include <__memory/allocator_arg_t.h> -#include <__memory/uses_allocator.h> -#include -#include -#include -#include - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -#pragma GCC system_header -#endif - -#endif // _LIBCPP_FUNCTIONAL_BASE diff --git a/libcxx/include/__hash_table b/libcxx/include/__hash_table --- a/libcxx/include/__hash_table +++ b/libcxx/include/__hash_table @@ -13,6 +13,7 @@ #include <__bits> // __libcpp_clz #include <__config> #include <__debug> +#include <__functional/hash.h> #include <__utility/forward.h> #include <__utility/move.h> #include <__utility/pair.h> diff --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h --- a/libcxx/include/__memory/shared_ptr.h +++ b/libcxx/include/__memory/shared_ptr.h @@ -12,7 +12,6 @@ #include <__availability> #include <__config> -#include <__functional_base> #include <__functional/binary_function.h> #include <__functional/operations.h> #include <__functional/reference_wrapper.h> diff --git a/libcxx/include/__memory/unique_ptr.h b/libcxx/include/__memory/unique_ptr.h --- a/libcxx/include/__memory/unique_ptr.h +++ b/libcxx/include/__memory/unique_ptr.h @@ -11,7 +11,6 @@ #define _LIBCPP___MEMORY_UNIQUE_PTR_H #include <__config> -#include <__functional_base> #include <__functional/hash.h> #include <__functional/operations.h> #include <__memory/allocator_traits.h> // __pointer diff --git a/libcxx/include/__ranges/drop_view.h b/libcxx/include/__ranges/drop_view.h --- a/libcxx/include/__ranges/drop_view.h +++ b/libcxx/include/__ranges/drop_view.h @@ -12,6 +12,7 @@ #include <__config> #include <__iterator/iterator_traits.h> #include <__iterator/concepts.h> +#include <__iterator/next.h> #include <__ranges/access.h> #include <__ranges/view_interface.h> #include <__ranges/all.h> diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm --- a/libcxx/include/algorithm +++ b/libcxx/include/algorithm @@ -650,7 +650,6 @@ #include <__bits> // __libcpp_clz #include #include -#include #include #include #include diff --git a/libcxx/include/bitset b/libcxx/include/bitset --- a/libcxx/include/bitset +++ b/libcxx/include/bitset @@ -114,7 +114,7 @@ #include <__config> #include <__bit_reference> -#include <__functional_base> +#include <__functional/unary_function.h> #include #include #include diff --git a/libcxx/include/concepts b/libcxx/include/concepts --- a/libcxx/include/concepts +++ b/libcxx/include/concepts @@ -131,7 +131,6 @@ #include <__config> #include <__functional/invoke.h> -#include <__functional_base> #include <__utility/declval.h> #include <__utility/exchange.h> #include diff --git a/libcxx/include/experimental/__memory b/libcxx/include/experimental/__memory --- a/libcxx/include/experimental/__memory +++ b/libcxx/include/experimental/__memory @@ -14,7 +14,6 @@ #include <__memory/uses_allocator.h> #include #include // for erased_type -#include <__functional_base> #include _LIBCPP_BEGIN_NAMESPACE_LFTS diff --git a/libcxx/include/experimental/propagate_const b/libcxx/include/experimental/propagate_const --- a/libcxx/include/experimental/propagate_const +++ b/libcxx/include/experimental/propagate_const @@ -113,8 +113,10 @@ #if _LIBCPP_STD_VER > 11 -#include +#include <__utility/forward.h> +#include <__utility/move.h> #include +#include _LIBCPP_BEGIN_NAMESPACE_LFTS_V2 diff --git a/libcxx/include/ext/hash_map b/libcxx/include/ext/hash_map --- a/libcxx/include/ext/hash_map +++ b/libcxx/include/ext/hash_map @@ -202,9 +202,9 @@ */ #include <__config> +#include <__functional/operations.h> #include <__hash_table> #include <__utility/pair.h> -#include #include #include #include diff --git a/libcxx/include/ext/hash_set b/libcxx/include/ext/hash_set --- a/libcxx/include/ext/hash_set +++ b/libcxx/include/ext/hash_set @@ -193,9 +193,9 @@ */ #include <__config> +#include <__functional/operations.h> #include <__hash_table> #include <__utility/pair.h> -#include #include #if defined(__DEPRECATED) && __DEPRECATED diff --git a/libcxx/include/functional b/libcxx/include/functional --- a/libcxx/include/functional +++ b/libcxx/include/functional @@ -487,9 +487,6 @@ */ -#include <__algorithm/search.h> -#include <__config> -#include <__debug> #include <__functional/binary_function.h> // TODO: deprecate #include <__functional/binary_negate.h> #include <__functional/bind_front.h> @@ -512,13 +509,7 @@ #include <__functional/unary_function.h> // TODO: deprecate #include <__functional/unary_negate.h> #include <__functional/unwrap_ref.h> -#include <__utility/forward.h> -#include -#include -#include -#include -#include -#include + #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/iterator b/libcxx/include/iterator --- a/libcxx/include/iterator +++ b/libcxx/include/iterator @@ -560,7 +560,6 @@ #include <__config> #include <__debug> -#include <__functional_base> #include <__iterator/advance.h> #include <__iterator/back_insert_iterator.h> #include <__iterator/concepts.h> diff --git a/libcxx/include/map b/libcxx/include/map --- a/libcxx/include/map +++ b/libcxx/include/map @@ -492,6 +492,8 @@ #include <__config> #include <__debug> #include <__functional/is_transparent.h> +#include <__functional/binary_function.h> +#include <__functional/operations.h> #include <__node_handle> #include <__tree> #include <__utility/forward.h> @@ -500,7 +502,6 @@ #include <__utility/piecewise_construct.h> #include <__utility/swap.h> #include -#include #include #include // __libcpp_erase_if_container #include diff --git a/libcxx/include/memory b/libcxx/include/memory --- a/libcxx/include/memory +++ b/libcxx/include/memory @@ -668,7 +668,6 @@ */ #include <__config> -#include <__functional_base> #include <__memory/addressof.h> #include <__memory/allocation_guard.h> #include <__memory/allocator.h> diff --git a/libcxx/include/module.modulemap b/libcxx/include/module.modulemap --- a/libcxx/include/module.modulemap +++ b/libcxx/include/module.modulemap @@ -411,7 +411,11 @@ module __functional { module binary_function { header "__functional/binary_function.h" } module binary_negate { header "__functional/binary_negate.h" } - module bind { header "__functional/bind.h" } + module bind { + export typeinfo // TODO: investigate whether this is necessary or a hack + // (requires in-depth knowledge of `std::bind`) + header "__functional/bind.h" + } module bind_front { header "__functional/bind_front.h" } module binder1st { header "__functional/binder1st.h" } module binder2nd { header "__functional/binder2nd.h" } diff --git a/libcxx/include/mutex b/libcxx/include/mutex --- a/libcxx/include/mutex +++ b/libcxx/include/mutex @@ -192,7 +192,6 @@ #include <__utility/forward.h> #include <__utility/move.h> #include -#include #include #ifndef _LIBCPP_CXX03_LANG # include diff --git a/libcxx/include/numeric b/libcxx/include/numeric --- a/libcxx/include/numeric +++ b/libcxx/include/numeric @@ -146,9 +146,9 @@ #include <__config> #include <__debug> +#include <__functional/operations.h> #include <__utility/move.h> #include // for isnormal -#include #include #include // for numeric_limits #include diff --git a/libcxx/include/optional b/libcxx/include/optional --- a/libcxx/include/optional +++ b/libcxx/include/optional @@ -149,14 +149,15 @@ #include <__availability> #include <__config> #include <__debug> -#include <__functional_base> +#include <__functional/hash.h> +#include <__memory/construct_at.h> +#include <__tuple> #include <__utility/declval.h> #include <__utility/forward.h> #include <__utility/in_place.h> #include <__utility/move.h> #include <__utility/swap.h> #include -#include #include #include #include diff --git a/libcxx/include/queue b/libcxx/include/queue --- a/libcxx/include/queue +++ b/libcxx/include/queue @@ -179,6 +179,8 @@ */ #include <__config> +#include <__functional/binary_function.h> +#include <__functional/operations.h> #include <__memory/uses_allocator.h> #include <__utility/forward.h> #include <__utility/move.h> @@ -186,7 +188,6 @@ #include #include #include -#include #include #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/set b/libcxx/include/set --- a/libcxx/include/set +++ b/libcxx/include/set @@ -436,13 +436,13 @@ #include <__config> #include <__debug> #include <__functional/is_transparent.h> +#include <__functional/operations.h> #include <__node_handle> #include <__tree> #include <__utility/forward.h> #include <__utility/move.h> #include <__utility/pair.h> #include -#include #include #include // __libcpp_erase_if_container #include diff --git a/libcxx/include/string b/libcxx/include/string --- a/libcxx/include/string +++ b/libcxx/include/string @@ -515,7 +515,8 @@ #include <__config> #include <__debug> -#include <__functional_base> +#include <__functional/hash.h> +#include <__functional/unary_function.h> #include <__iterator/wrap_iter.h> #include <__utility/move.h> #include diff --git a/libcxx/include/string_view b/libcxx/include/string_view --- a/libcxx/include/string_view +++ b/libcxx/include/string_view @@ -186,6 +186,8 @@ #include <__config> #include <__debug> +#include <__functional/hash.h> +#include <__functional/unary_function.h> #include <__ranges/enable_borrowed_range.h> #include <__ranges/enable_view.h> #include <__string> diff --git a/libcxx/include/system_error b/libcxx/include/system_error --- a/libcxx/include/system_error +++ b/libcxx/include/system_error @@ -145,7 +145,6 @@ #include <__config> #include <__errc> #include <__functional/unary_function.h> -#include <__functional_base> #include #include #include diff --git a/libcxx/include/thread b/libcxx/include/thread --- a/libcxx/include/thread +++ b/libcxx/include/thread @@ -84,7 +84,6 @@ #include <__config> #include <__debug> -#include <__functional_base> #include <__mutex_base> #include <__threading_support> #include <__utility/__decay_copy.h> @@ -92,7 +91,6 @@ #include <__utility/move.h> #include #include -#include #include #include #include diff --git a/libcxx/include/tuple b/libcxx/include/tuple --- a/libcxx/include/tuple +++ b/libcxx/include/tuple @@ -151,7 +151,6 @@ #include <__config> #include <__functional/unwrap_ref.h> -#include <__functional_base> #include <__memory/allocator_arg_t.h> #include <__memory/uses_allocator.h> #include <__tuple> @@ -160,6 +159,7 @@ #include <__utility/move.h> #include <__utility/pair.h> #include <__utility/piecewise_construct.h> +#include <__utility/swap.h> #include #include #include diff --git a/libcxx/include/typeindex b/libcxx/include/typeindex --- a/libcxx/include/typeindex +++ b/libcxx/include/typeindex @@ -46,7 +46,6 @@ #include <__config> #include <__functional/unary_function.h> -#include <__functional_base> #include #include diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map --- a/libcxx/include/unordered_map +++ b/libcxx/include/unordered_map @@ -433,7 +433,9 @@ #include <__config> #include <__debug> +#include <__functional/hash.h> #include <__functional/is_transparent.h> +#include <__functional/operations.h> #include <__hash_table> #include <__node_handle> #include <__utility/forward.h> @@ -441,7 +443,6 @@ #include <__utility/pair.h> #include <__utility/piecewise_construct.h> #include -#include #include // __libcpp_erase_if_container #include #include diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set --- a/libcxx/include/unordered_set +++ b/libcxx/include/unordered_set @@ -388,7 +388,9 @@ #include <__config> #include <__debug> +#include <__functional/hash.h> #include <__functional/is_transparent.h> +#include <__functional/operations.h> #include <__hash_table> #include <__node_handle> #include <__utility/declval.h> @@ -396,7 +398,6 @@ #include <__utility/pair.h> #include <__utility/move.h> #include -#include #include // __libcpp_erase_if_container #include diff --git a/libcxx/include/valarray b/libcxx/include/valarray --- a/libcxx/include/valarray +++ b/libcxx/include/valarray @@ -340,10 +340,10 @@ */ #include <__config> +#include <__functional/operations.h> #include #include #include -#include #include #include diff --git a/libcxx/include/variant b/libcxx/include/variant --- a/libcxx/include/variant +++ b/libcxx/include/variant @@ -201,6 +201,9 @@ #include <__availability> #include <__config> +#include <__functional/hash.h> +#include <__functional/operations.h> +#include <__functional/unary_function.h> #include <__utility/declval.h> #include <__utility/forward.h> #include <__utility/in_place.h> @@ -210,7 +213,6 @@ #include #include #include -#include #include #include #include diff --git a/libcxx/include/vector b/libcxx/include/vector --- a/libcxx/include/vector +++ b/libcxx/include/vector @@ -274,7 +274,8 @@ #include <__config> #include <__bit_reference> #include <__debug> -#include <__functional_base> +#include <__functional/hash.h> +#include <__functional/unary_function.h> #include <__iterator/wrap_iter.h> #include <__split_buffer> #include <__utility/forward.h> diff --git a/libcxx/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp b/libcxx/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp --- a/libcxx/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp +++ b/libcxx/test/libcxx/depr/depr.function.objects/depr.adaptors.cxx1z.pass.cpp @@ -18,6 +18,7 @@ #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/libcxx/numerics/numeric.ops/midpoint.integer.pass.cpp b/libcxx/test/libcxx/numerics/numeric.ops/midpoint.integer.pass.cpp --- a/libcxx/test/libcxx/numerics/numeric.ops/midpoint.integer.pass.cpp +++ b/libcxx/test/libcxx/numerics/numeric.ops/midpoint.integer.pass.cpp @@ -15,6 +15,7 @@ #include #include +#include #include "test_macros.h" // Users are not supposed to provide template argument lists for diff --git a/libcxx/test/libcxx/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp b/libcxx/test/libcxx/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp --- a/libcxx/test/libcxx/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp +++ b/libcxx/test/libcxx/utilities/function.objects/func.require/bullet_4_5_6.pass.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include "test_macros.h" #include "invoke_helpers.h" diff --git a/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp b/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp --- a/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp +++ b/libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/for_each_n.pass.cpp @@ -16,6 +16,7 @@ #include #include +#include #include "test_macros.h" #include "test_iterators.h" diff --git a/libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap_comp.pass.cpp b/libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap_comp.pass.cpp --- a/libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap_comp.pass.cpp +++ b/libcxx/test/std/algorithms/alg.sorting/alg.heap.operations/sort.heap/sort_heap_comp.pass.cpp @@ -15,6 +15,7 @@ #include #include +#include #include "test_macros.h" #include "test_iterators.h" diff --git a/libcxx/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp b/libcxx/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp --- a/libcxx/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp +++ b/libcxx/test/std/concepts/concepts.callable/concept.invocable/invocable.compile.pass.cpp @@ -12,8 +12,10 @@ // template // concept invocable; -#include #include + +#include +#include #include #include #include diff --git a/libcxx/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.compile.pass.cpp b/libcxx/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.compile.pass.cpp --- a/libcxx/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.compile.pass.cpp +++ b/libcxx/test/std/concepts/concepts.callable/concept.regularinvocable/regular_invocable.compile.pass.cpp @@ -12,8 +12,10 @@ // template // concept regular_invocable; -#include #include + +#include +#include #include #include #include diff --git a/libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.fail.cpp b/libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.fail.cpp --- a/libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.fail.cpp +++ b/libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.fail.cpp @@ -15,6 +15,7 @@ #include #include #include +#include int main(int, char**) diff --git a/libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.pass.cpp b/libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.pass.cpp --- a/libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/deduct.pass.cpp @@ -31,6 +31,7 @@ #include #include #include // INT_MAX +#include #include "test_macros.h" #include "test_iterators.h" diff --git a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.pass.cpp b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.pass.cpp --- a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.pass.cpp +++ b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/deduct.pass.cpp @@ -19,9 +19,11 @@ #include #include +#include #include #include #include // INT_MAX +#include #include "test_macros.h" #include "test_iterators.h" diff --git a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp --- a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp +++ b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include "test_macros.h" #include "min_allocator.h" diff --git a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp --- a/libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp +++ b/libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include "test_macros.h" #include "min_allocator.h" diff --git a/libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp b/libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp --- a/libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp +++ b/libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp @@ -13,6 +13,7 @@ #include #include +#include #include "test_macros.h" #include "min_allocator.h" diff --git a/libcxx/test/std/experimental/memory/memory.resource.aliases/header_map_synop.pass.cpp b/libcxx/test/std/experimental/memory/memory.resource.aliases/header_map_synop.pass.cpp --- a/libcxx/test/std/experimental/memory/memory.resource.aliases/header_map_synop.pass.cpp +++ b/libcxx/test/std/experimental/memory/memory.resource.aliases/header_map_synop.pass.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/experimental/memory/memory.resource.aliases/header_set_synop.pass.cpp b/libcxx/test/std/experimental/memory/memory.resource.aliases/header_set_synop.pass.cpp --- a/libcxx/test/std/experimental/memory/memory.resource.aliases/header_set_synop.pass.cpp +++ b/libcxx/test/std/experimental/memory/memory.resource.aliases/header_set_synop.pass.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp b/libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp --- a/libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp +++ b/libcxx/test/std/ranges/range.adaptors/range.drop/dangling.cache.pass.cpp @@ -16,6 +16,8 @@ #include +#include + #include "test_macros.h" #include "types.h" diff --git a/libcxx/test/std/re/re.results/re.results.const/copy_assign.pass.cpp b/libcxx/test/std/re/re.results/re.results.const/copy_assign.pass.cpp --- a/libcxx/test/std/re/re.results/re.results.const/copy_assign.pass.cpp +++ b/libcxx/test/std/re/re.results/re.results.const/copy_assign.pass.cpp @@ -14,6 +14,8 @@ #include #include +#include +#include #include "test_macros.h" #include "test_allocator.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 --- 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 @@ -22,6 +22,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_function_object.pass.cpp b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_function_object.pass.cpp --- a/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_function_object.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/bind/func.bind/func.bind.bind/invoke_function_object.pass.cpp @@ -19,6 +19,8 @@ #include +#include + #include "test_macros.h" struct DummyUnaryFunction 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 --- a/libcxx/test/std/utilities/function.objects/func.identity/identity.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.identity/identity.pass.cpp @@ -15,6 +15,7 @@ #include #include +#include #include "MoveOnly.h" diff --git a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.badcall/bad_function_call.pass.cpp @@ -17,6 +17,7 @@ // }; #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/F_incomplete.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_incomplete.pass.cpp --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_incomplete.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/F_incomplete.pass.cpp @@ -19,6 +19,7 @@ #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/alloc_F.verify.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.verify.cpp --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.verify.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_F.verify.cpp @@ -18,6 +18,7 @@ #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/alloc_function.verify.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.verify.cpp --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.verify.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/func.wrap.func.con/alloc_function.verify.cpp @@ -18,6 +18,7 @@ #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 --- 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 @@ -17,6 +17,7 @@ #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/noncopyable_return_type.pass.cpp b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/noncopyable_return_type.pass.cpp --- a/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/noncopyable_return_type.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/func.wrap/func.wrap.func/noncopyable_return_type.pass.cpp @@ -14,6 +14,7 @@ #include #include +#include #include "test_macros.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 --- 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 @@ -16,6 +16,7 @@ #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 --- a/libcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/range.cmp/greater.pass.cpp @@ -16,6 +16,7 @@ #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 --- 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 @@ -16,6 +16,7 @@ #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 --- a/libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/range.cmp/less.pass.cpp @@ -16,6 +16,7 @@ #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 --- 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 @@ -16,6 +16,7 @@ #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 --- 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 @@ -16,6 +16,7 @@ #include #include #include +#include #include "test_macros.h" #include "compare_types.h" diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.assign/copy_assign.pass.cpp @@ -14,6 +14,7 @@ #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/deduct.pass.cpp @@ -16,6 +16,8 @@ #include +#include + int main() { int i = 0; diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor.pass.cpp @@ -17,6 +17,7 @@ #include #include +#include struct convertible_to_int_ref { int val = 0; diff --git a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp --- a/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/refwrap/refwrap.const/type_conv_ctor2.pass.cpp @@ -17,6 +17,7 @@ #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp --- a/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/enum.pass.cpp @@ -19,6 +19,7 @@ #include #include +#include #include #include diff --git a/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp b/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp --- a/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp +++ b/libcxx/test/std/utilities/function.objects/unord.hash/integral.pass.cpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp b/libcxx/test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp --- a/libcxx/test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp +++ b/libcxx/test/std/utilities/optional/optional.hash/enabled_hash.pass.cpp @@ -15,6 +15,8 @@ #include +#include + #include "poisoned_hash_helper.h" #include "test_macros.h" diff --git a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp --- a/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp +++ b/libcxx/test/std/utilities/optional/optional.object/optional.object.ctor/explicit_optional_U.pass.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include "test_macros.h" diff --git a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp --- a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp +++ b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/alloc_UTypes.pass.cpp @@ -17,6 +17,7 @@ #include #include +#include #include "test_macros.h" #include "MoveOnly.h" diff --git a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp --- a/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp +++ b/libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/move.pass.cpp @@ -17,6 +17,7 @@ #include #include #include +#include #include "test_macros.h" #include "MoveOnly.h" diff --git a/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.in_range/in_range.pass.cpp b/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.in_range/in_range.pass.cpp --- a/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.in_range/in_range.pass.cpp +++ b/libcxx/test/std/utilities/utility/utility.intcmp/intcmp.in_range/in_range.pass.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include "test_macros.h"