Skip to content

Commit

Permalink
[libc++] Granularize <mutex> includes
Browse files Browse the repository at this point in the history
  • Loading branch information
philnik777 committed Nov 21, 2024
1 parent 3535ea0 commit 23af5be
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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 <mutex>
#include <__mutex/mutex.h>
#include <__mutex/unique_lock.h>

#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
Expand Down
11 changes: 10 additions & 1 deletion libcxx/include/future
Original file line number Diff line number Diff line change
Expand Up @@ -368,6 +368,7 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, 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>
Expand All @@ -381,6 +382,9 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, 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>
Expand All @@ -390,14 +394,19 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, 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 <mutex>
# include <__utility/swap.h>
# include <new>
# include <stdexcept>
# include <tuple>
# include <version>

# if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
Expand Down
4 changes: 4 additions & 0 deletions libcxx/include/memory_resource
Original file line number Diff line number Diff line change
Expand Up @@ -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 <mutex>
#endif

#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <stdexcept>
#endif
Expand Down
2 changes: 1 addition & 1 deletion libcxx/include/syncstream
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ namespace std {

#if _LIBCPP_HAS_LOCALIZATION

# include <__mutex/lock_guard.h>
# include <__utility/move.h>
# include <ios>
# include <iosfwd> // required for declaration of default arguments
Expand All @@ -129,7 +130,6 @@ namespace std {

# if _LIBCPP_HAS_THREADS
# include <map>
# include <mutex>
# include <shared_mutex>
# endif

Expand Down
4 changes: 0 additions & 4 deletions libcxx/test/libcxx/transitive_includes/cxx23.csv
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,6 @@ future iosfwd
future istream
future limits
future locale
future mutex
future new
future ratio
future sstream
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -1076,7 +1073,6 @@ syncstream iosfwd
syncstream limits
syncstream locale
syncstream map
syncstream mutex
syncstream new
syncstream optional
syncstream ostream
Expand Down
4 changes: 0 additions & 4 deletions libcxx/test/libcxx/transitive_includes/cxx26.csv
Original file line number Diff line number Diff line change
Expand Up @@ -464,7 +464,6 @@ future iosfwd
future istream
future limits
future locale
future mutex
future new
future ratio
future sstream
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -1075,7 +1072,6 @@ syncstream iosfwd
syncstream limits
syncstream locale
syncstream map
syncstream mutex
syncstream new
syncstream optional
syncstream ostream
Expand Down

0 comments on commit 23af5be

Please sign in to comment.