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/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/equal_to.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/equal_to.h> #include <__hash_table> #include <__utility/pair.h> -#include #include #if defined(__DEPRECATED) && __DEPRECATED 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/less.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/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,10 @@ #include <__config> #include <__debug> +#include <__functional/multiplies.h> +#include <__functional/plus.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,13 +149,15 @@ #include <__availability> #include <__config> #include <__debug> +#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/less.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/less.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/thread b/libcxx/include/thread --- a/libcxx/include/thread +++ b/libcxx/include/thread @@ -91,7 +91,6 @@ #include <__utility/move.h> #include #include -#include #include #include #include diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map --- a/libcxx/include/unordered_map +++ b/libcxx/include/unordered_map @@ -434,6 +434,7 @@ #include <__config> #include <__debug> #include <__functional/__is_transparent.h> +#include <__functional/equal_to.h> #include <__hash_table> #include <__node_handle> #include <__utility/forward.h> @@ -441,7 +442,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 @@ -389,6 +389,7 @@ #include <__config> #include <__debug> #include <__functional/__is_transparent.h> +#include <__functional/equal_to.h> #include <__hash_table> #include <__node_handle> #include <__utility/declval.h> @@ -396,7 +397,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,27 @@ */ #include <__config> +#include <__functional/bit_and.h> +#include <__functional/bit_or.h> +#include <__functional/bit_xor.h> +#include <__functional/equal_to.h> +#include <__functional/divides.h> +#include <__functional/greater.h> +#include <__functional/greater_equal.h> +#include <__functional/less.h> +#include <__functional/less_equal.h> +#include <__functional/logical_and.h> +#include <__functional/logical_not.h> +#include <__functional/logical_or.h> +#include <__functional/minus.h> +#include <__functional/modulus.h> +#include <__functional/multiplies.h> +#include <__functional/negate.h> +#include <__functional/not_equal_to.h> +#include <__functional/plus.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,12 @@ #include <__availability> #include <__config> +#include <__functional/equal_to.h> +#include <__functional/greater.h> +#include <__functional/greater_equal.h> +#include <__functional/less.h> +#include <__functional/less_equal.h> +#include <__functional/not_equal_to.h> #include <__utility/declval.h> #include <__utility/forward.h> #include <__utility/in_place.h> @@ -210,7 +216,6 @@ #include #include #include -#include #include #include #include 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/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/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.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/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/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"