diff --git a/libcxx/include/__memory_resource/synchronized_pool_resource.h b/libcxx/include/__memory_resource/synchronized_pool_resource.h index 6384564afc917..bcc1ac4a172e3 100644 --- a/libcxx/include/__memory_resource/synchronized_pool_resource.h +++ b/libcxx/include/__memory_resource/synchronized_pool_resource.h @@ -10,10 +10,12 @@ #define _LIBCPP___MEMORY_RESOURCE_SYNCHRONIZED_POOL_RESOURCE_H #include <__config> +#include <__cstddef/size_t.h> #include <__memory_resource/memory_resource.h> #include <__memory_resource/pool_options.h> #include <__memory_resource/unsynchronized_pool_resource.h> -#include +#include <__mutex/mutex.h> +#include <__mutex/unique_lock.h> #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) # pragma GCC system_header diff --git a/libcxx/include/future b/libcxx/include/future index cbf3ed9346417..5b2e9eed88e35 100644 --- a/libcxx/include/future +++ b/libcxx/include/future @@ -368,6 +368,7 @@ template struct uses_allocator, Alloc>; # include <__assert> # include <__chrono/duration.h> +# include <__chrono/steady_clock.h> # include <__chrono/time_point.h> # include <__condition_variable/condition_variable.h> # include <__exception/exception_ptr.h> @@ -381,6 +382,9 @@ template struct uses_allocator, Alloc>; # include <__memory/shared_count.h> # include <__memory/unique_ptr.h> # include <__memory/uses_allocator.h> +# include <__mutex/lock_guard.h> +# include <__mutex/mutex.h> +# include <__mutex/unique_lock.h> # include <__system_error/error_category.h> # include <__system_error/error_code.h> # include <__system_error/error_condition.h> @@ -390,14 +394,19 @@ template struct uses_allocator, Alloc>; # include <__type_traits/conditional.h> # include <__type_traits/decay.h> # include <__type_traits/enable_if.h> +# include <__type_traits/invoke.h> +# include <__type_traits/is_same.h> +# include <__type_traits/remove_cvref.h> +# include <__type_traits/remove_reference.h> # include <__type_traits/strip_signature.h> # include <__type_traits/underlying_type.h> # include <__utility/auto_cast.h> # include <__utility/forward.h> # include <__utility/move.h> -# include +# include <__utility/swap.h> # include # include +# include # include # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/memory_resource b/libcxx/include/memory_resource index 7de69e67b7c06..e54b7e6e2473f 100644 --- a/libcxx/include/memory_resource +++ b/libcxx/include/memory_resource @@ -66,6 +66,10 @@ namespace std::pmr { # pragma GCC system_header #endif +#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER >= 17 && _LIBCPP_STD_VER <= 20 +# include +#endif + #if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20 # include #endif diff --git a/libcxx/include/syncstream b/libcxx/include/syncstream index 970706976e1ff..2699a4b3a6fbb 100644 --- a/libcxx/include/syncstream +++ b/libcxx/include/syncstream @@ -121,6 +121,7 @@ namespace std { #if _LIBCPP_HAS_LOCALIZATION +# include <__mutex/lock_guard.h> # include <__utility/move.h> # include # include // required for declaration of default arguments @@ -129,7 +130,6 @@ namespace std { # if _LIBCPP_HAS_THREADS # include -# include # include # endif diff --git a/libcxx/test/libcxx/transitive_includes/cxx23.csv b/libcxx/test/libcxx/transitive_includes/cxx23.csv index a008b4d76edde..096c321672474 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx23.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx23.csv @@ -465,7 +465,6 @@ future iosfwd future istream future limits future locale -future mutex future new future ratio future sstream @@ -692,11 +691,9 @@ memory_resource compare memory_resource cstdint memory_resource ctime memory_resource limits -memory_resource mutex memory_resource new memory_resource ratio memory_resource tuple -memory_resource typeinfo memory_resource version mutex cerrno mutex climits @@ -1076,7 +1073,6 @@ syncstream iosfwd syncstream limits syncstream locale syncstream map -syncstream mutex syncstream new syncstream optional syncstream ostream diff --git a/libcxx/test/libcxx/transitive_includes/cxx26.csv b/libcxx/test/libcxx/transitive_includes/cxx26.csv index d5321da32b3d4..74d912e5fe3a3 100644 --- a/libcxx/test/libcxx/transitive_includes/cxx26.csv +++ b/libcxx/test/libcxx/transitive_includes/cxx26.csv @@ -464,7 +464,6 @@ future iosfwd future istream future limits future locale -future mutex future new future ratio future sstream @@ -691,11 +690,9 @@ memory_resource compare memory_resource cstdint memory_resource ctime memory_resource limits -memory_resource mutex memory_resource new memory_resource ratio memory_resource tuple -memory_resource typeinfo memory_resource version mutex cerrno mutex climits @@ -1075,7 +1072,6 @@ syncstream iosfwd syncstream limits syncstream locale syncstream map -syncstream mutex syncstream new syncstream optional syncstream ostream