[libcxx-commits] [libcxx] 59ef4b3 - [libc++] Split __allocator_destructor out of shared_ptr.h
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Sat Nov 5 13:26:01 PDT 2022
Author: Nikolas Klauser
Date: 2022-11-05T21:25:54+01:00
New Revision: 59ef4b3686e4704f253cf37011c7f0362095cdfe
URL: https://github.com/llvm/llvm-project/commit/59ef4b3686e4704f253cf37011c7f0362095cdfe
DIFF: https://github.com/llvm/llvm-project/commit/59ef4b3686e4704f253cf37011c7f0362095cdfe.diff
LOG: [libc++] Split __allocator_destructor out of shared_ptr.h
Reviewed By: ldionne, huixie90, #libc
Spies: libcxx-commits
Differential Revision: https://reviews.llvm.org/D134479
Added:
libcxx/include/__memory/allocator_destructor.h
Modified:
libcxx/include/CMakeLists.txt
libcxx/include/__functional/function.h
libcxx/include/__locale
libcxx/include/__memory/shared_ptr.h
libcxx/include/__split_buffer
libcxx/include/any
libcxx/include/codecvt
libcxx/include/deque
libcxx/include/forward_list
libcxx/include/fstream
libcxx/include/future
libcxx/include/ios
libcxx/include/list
libcxx/include/locale
libcxx/include/module.modulemap.in
libcxx/include/ostream
libcxx/include/regex
libcxx/include/vector
libcxx/test/libcxx/private_headers.verify.cpp
libcxx/test/libcxx/transitive_includes/cxx03.csv
libcxx/test/libcxx/transitive_includes/cxx11.csv
libcxx/test/libcxx/transitive_includes/cxx14.csv
libcxx/test/libcxx/transitive_includes/cxx17.csv
libcxx/test/libcxx/transitive_includes/cxx20.csv
libcxx/test/libcxx/transitive_includes/cxx2b.csv
Removed:
################################################################################
diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index 7603b37c9d5c0..4310cfdc50308 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -396,6 +396,7 @@ set(files
__memory/allocation_guard.h
__memory/allocator.h
__memory/allocator_arg_t.h
+ __memory/allocator_destructor.h
__memory/allocator_traits.h
__memory/assume_aligned.h
__memory/auto_ptr.h
diff --git a/libcxx/include/__functional/function.h b/libcxx/include/__functional/function.h
index 44e33a5a3a624..2d9cdc0459d63 100644
--- a/libcxx/include/__functional/function.h
+++ b/libcxx/include/__functional/function.h
@@ -18,10 +18,10 @@
#include <__iterator/iterator_traits.h>
#include <__memory/addressof.h>
#include <__memory/allocator.h>
+#include <__memory/allocator_destructor.h>
#include <__memory/allocator_traits.h>
#include <__memory/builtin_new_allocator.h>
#include <__memory/compressed_pair.h>
-#include <__memory/shared_ptr.h>
#include <__memory/unique_ptr.h>
#include <__utility/forward.h>
#include <__utility/move.h>
diff --git a/libcxx/include/__locale b/libcxx/include/__locale
index 65160f3562fbc..242de1ad1a716 100644
--- a/libcxx/include/__locale
+++ b/libcxx/include/__locale
@@ -12,16 +12,18 @@
#include <__availability>
#include <__config>
-#include <__memory/shared_ptr.h>
#include <cctype>
#include <cstdint>
#include <locale.h>
#include <mutex>
#include <string>
+// Some platforms require more includes than others. Keep the includes on all plaforms for now.
+#include <cstddef>
+#include <cstring>
+
#if defined(_LIBCPP_MSVCRT_LIKE)
# include <__support/win32/locale_win32.h>
-# include <cstring>
#elif defined(_AIX) || defined(__MVS__)
# include <__support/ibm/xlocale.h>
#elif defined(__ANDROID__)
diff --git a/libcxx/include/__memory/allocator_destructor.h b/libcxx/include/__memory/allocator_destructor.h
new file mode 100644
index 0000000000000..623ad8ad800a1
--- /dev/null
+++ b/libcxx/include/__memory/allocator_destructor.h
@@ -0,0 +1,42 @@
+//===----------------------------------------------------------------------===//
+//
+// 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___MEMORY_ALLOCATOR_DESTRUCTOR_H
+#define _LIBCPP___MEMORY_ALLOCATOR_DESTRUCTOR_H
+
+#include <__config>
+#include <__memory/allocator_traits.h>
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+_LIBCPP_BEGIN_NAMESPACE_STD
+
+template <class _Alloc>
+class __allocator_destructor
+{
+ typedef _LIBCPP_NODEBUG allocator_traits<_Alloc> __alloc_traits;
+public:
+ typedef _LIBCPP_NODEBUG typename __alloc_traits::pointer pointer;
+ typedef _LIBCPP_NODEBUG typename __alloc_traits::size_type size_type;
+private:
+ _Alloc& __alloc_;
+ size_type __s_;
+public:
+ _LIBCPP_INLINE_VISIBILITY __allocator_destructor(_Alloc& __a, size_type __s)
+ _NOEXCEPT
+ : __alloc_(__a), __s_(__s) {}
+ _LIBCPP_INLINE_VISIBILITY
+ void operator()(pointer __p) _NOEXCEPT
+ {__alloc_traits::deallocate(__alloc_, __p, __s_);}
+};
+
+_LIBCPP_END_NAMESPACE_STD
+
+#endif // _LIBCPP___MEMORY_ALLOCATOR_DESTRUCTOR_H
diff --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h
index 238d765f3ebb0..57051dfde3027 100644
--- a/libcxx/include/__memory/shared_ptr.h
+++ b/libcxx/include/__memory/shared_ptr.h
@@ -21,6 +21,7 @@
#include <__memory/addressof.h>
#include <__memory/allocation_guard.h>
#include <__memory/allocator.h>
+#include <__memory/allocator_destructor.h>
#include <__memory/allocator_traits.h>
#include <__memory/auto_ptr.h>
#include <__memory/compressed_pair.h>
@@ -42,32 +43,12 @@
# include <atomic>
#endif
-
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#endif
_LIBCPP_BEGIN_NAMESPACE_STD
-template <class _Alloc>
-class __allocator_destructor
-{
- typedef _LIBCPP_NODEBUG allocator_traits<_Alloc> __alloc_traits;
-public:
- typedef _LIBCPP_NODEBUG typename __alloc_traits::pointer pointer;
- typedef _LIBCPP_NODEBUG typename __alloc_traits::size_type size_type;
-private:
- _Alloc& __alloc_;
- size_type __s_;
-public:
- _LIBCPP_INLINE_VISIBILITY __allocator_destructor(_Alloc& __a, size_type __s)
- _NOEXCEPT
- : __alloc_(__a), __s_(__s) {}
- _LIBCPP_INLINE_VISIBILITY
- void operator()(pointer __p) _NOEXCEPT
- {__alloc_traits::deallocate(__alloc_, __p, __s_);}
-};
-
// NOTE: Relaxed and acq/rel atomics (for increment and decrement respectively)
// should be sufficient for thread safety.
// See https://llvm.org/PR22803
diff --git a/libcxx/include/__split_buffer b/libcxx/include/__split_buffer
index 1754baacd76ab..823487318ee9b 100644
--- a/libcxx/include/__split_buffer
+++ b/libcxx/include/__split_buffer
@@ -22,7 +22,6 @@
#include <__memory/allocator_traits.h>
#include <__memory/compressed_pair.h>
#include <__memory/pointer_traits.h>
-#include <__memory/shared_ptr.h>
#include <__memory/swap_allocator.h>
#include <__utility/forward.h>
#include <__utility/move.h>
diff --git a/libcxx/include/any b/libcxx/include/any
index 763e3a1815d08..ec5171ff714e0 100644
--- a/libcxx/include/any
+++ b/libcxx/include/any
@@ -84,8 +84,8 @@ namespace std {
#include <__availability>
#include <__config>
#include <__memory/allocator.h>
+#include <__memory/allocator_destructor.h>
#include <__memory/allocator_traits.h>
-#include <__memory/shared_ptr.h>
#include <__memory/unique_ptr.h>
#include <__utility/forward.h>
#include <__utility/in_place.h>
@@ -699,7 +699,9 @@ _LIBCPP_END_NAMESPACE_STD
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
+# include <iosfwd>
# include <iterator>
# include <memory>
# include <variant>
diff --git a/libcxx/include/codecvt b/libcxx/include/codecvt
index c6445b115cb73..ce378c8d1c6b2 100644
--- a/libcxx/include/codecvt
+++ b/libcxx/include/codecvt
@@ -554,7 +554,18 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
+# include <cstddef>
+# include <cstdlib>
+# include <cstring>
+# include <initializer_list>
+# include <iosfwd>
+# include <limits>
+# include <new>
+# include <stdexcept>
+# include <type_traits>
+# include <typeinfo>
#endif
#endif // _LIBCPP_CODECVT
diff --git a/libcxx/include/deque b/libcxx/include/deque
index 45e1a68d3a13f..989b64d7a109e 100644
--- a/libcxx/include/deque
+++ b/libcxx/include/deque
@@ -176,6 +176,7 @@ template <class T, class Allocator, class Predicate>
#include <__iterator/next.h>
#include <__iterator/prev.h>
#include <__iterator/reverse_iterator.h>
+#include <__memory/allocator_destructor.h>
#include <__memory/pointer_traits.h>
#include <__memory/temp_value.h>
#include <__memory/unique_ptr.h>
@@ -2943,9 +2944,12 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <atomic>
# include <concepts>
# include <functional>
+# include <iosfwd>
# include <iterator>
+# include <typeinfo>
#endif
#endif // _LIBCPP_DEQUE
diff --git a/libcxx/include/forward_list b/libcxx/include/forward_list
index 4ef6f88ef2f4c..51643e9e2828c 100644
--- a/libcxx/include/forward_list
+++ b/libcxx/include/forward_list
@@ -190,10 +190,10 @@ template <class T, class Allocator, class Predicate>
#include <__iterator/next.h>
#include <__memory/addressof.h>
#include <__memory/allocator.h>
+#include <__memory/allocator_destructor.h>
#include <__memory/allocator_traits.h>
#include <__memory/compressed_pair.h>
#include <__memory/pointer_traits.h>
-#include <__memory/shared_ptr.h>
#include <__memory/swap_allocator.h>
#include <__memory/unique_ptr.h>
#include <__memory_resource/polymorphic_allocator.h>
@@ -1792,9 +1792,12 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <atomic>
# include <concepts>
# include <functional>
+# include <iosfwd>
# include <iterator>
+# include <typeinfo>
#endif
#endif // _LIBCPP_FORWARD_LIST
diff --git a/libcxx/include/fstream b/libcxx/include/fstream
index 1d2cb79b26b24..6b6e5b603c2e7 100644
--- a/libcxx/include/fstream
+++ b/libcxx/include/fstream
@@ -1745,7 +1745,12 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
+# include <iosfwd>
+# include <limits>
+# include <new>
+# include <stdexcept>
#endif
#endif // _LIBCPP_FSTREAM
diff --git a/libcxx/include/future b/libcxx/include/future
index 5371de4fc43ae..e317e8d636ef7 100644
--- a/libcxx/include/future
+++ b/libcxx/include/future
@@ -367,6 +367,7 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
#include <__chrono/time_point.h>
#include <__config>
#include <__memory/allocator_arg_t.h>
+#include <__memory/allocator_destructor.h>
#include <__memory/uses_allocator.h>
#include <__utility/auto_cast.h>
#include <__utility/forward.h>
diff --git a/libcxx/include/ios b/libcxx/include/ios
index ac4637bce1d57..e67b7d2b779a3 100644
--- a/libcxx/include/ios
+++ b/libcxx/include/ios
@@ -1040,6 +1040,15 @@ _LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
+# include <cstddef>
+# include <cstdlib>
+# include <cstring>
+# include <initializer_list>
+# include <limits>
+# include <new>
+# include <stdexcept>
+# include <type_traits>
+# include <typeinfo>
#endif
#endif // _LIBCPP_IOS
diff --git a/libcxx/include/list b/libcxx/include/list
index de2693e79aff5..4d68c5e72668b 100644
--- a/libcxx/include/list
+++ b/libcxx/include/list
@@ -196,10 +196,10 @@ template <class T, class Allocator, class Predicate>
#include <__iterator/reverse_iterator.h>
#include <__memory/addressof.h>
#include <__memory/allocator.h>
+#include <__memory/allocator_destructor.h>
#include <__memory/allocator_traits.h>
#include <__memory/compressed_pair.h>
#include <__memory/pointer_traits.h>
-#include <__memory/shared_ptr.h>
#include <__memory/swap_allocator.h>
#include <__memory/unique_ptr.h>
#include <__memory_resource/polymorphic_allocator.h>
@@ -2375,9 +2375,12 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <atomic>
# include <concepts>
# include <functional>
+# include <iosfwd>
# include <iterator>
+# include <typeinfo>
#endif
#endif // _LIBCPP_LIST
diff --git a/libcxx/include/locale b/libcxx/include/locale
index fd31f0d87672f..8a330ae374d0f 100644
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -4353,9 +4353,12 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
# include <cstdarg>
# include <iterator>
+# include <stdexcept>
+# include <typeinfo>
#endif
#endif // _LIBCPP_LOCALE
diff --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in
index 79c7c3d354c8d..120cf1916e8cd 100644
--- a/libcxx/include/module.modulemap.in
+++ b/libcxx/include/module.modulemap.in
@@ -1031,6 +1031,7 @@ module std [system] {
module allocation_guard { private header "__memory/allocation_guard.h" }
module allocator { private header "__memory/allocator.h" }
module allocator_arg_t { private header "__memory/allocator_arg_t.h" }
+ module allocator_destructor { private header "__memory/allocator_destructor.h" }
module allocator_traits { private header "__memory/allocator_traits.h" }
module assume_aligned { private header "__memory/assume_aligned.h" }
module auto_ptr { private header "__memory/auto_ptr.h" }
diff --git a/libcxx/include/ostream b/libcxx/include/ostream
index 77ec87b35e4fe..1d943d8a8abd2 100644
--- a/libcxx/include/ostream
+++ b/libcxx/include/ostream
@@ -165,6 +165,7 @@ basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, cons
#include <__assert> // all public C++ headers provide the assertion handler
#include <__config>
+#include <__memory/shared_ptr.h>
#include <__memory/unique_ptr.h>
#include <bitset>
#include <ios>
@@ -1188,6 +1189,7 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_ostream<wchar_t>;
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <iterator>
#endif
diff --git a/libcxx/include/regex b/libcxx/include/regex
index 8118c944cae05..3c3a2e4a79486 100644
--- a/libcxx/include/regex
+++ b/libcxx/include/regex
@@ -773,6 +773,7 @@ typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
#include <__utility/move.h>
#include <__utility/pair.h>
#include <__utility/swap.h>
+#include <cstring>
#include <deque>
#include <stdexcept>
#include <string>
@@ -6858,8 +6859,12 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <atomic>
# include <concepts>
+# include <iosfwd>
# include <iterator>
+# include <new>
+# include <typeinfo>
# include <utility>
#endif
diff --git a/libcxx/include/vector b/libcxx/include/vector
index 8f9b8fb3d727b..d433f0c8c1969 100644
--- a/libcxx/include/vector
+++ b/libcxx/include/vector
@@ -3281,6 +3281,7 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <atomic>
# include <concepts>
# include <typeinfo>
# include <utility>
diff --git a/libcxx/test/libcxx/private_headers.verify.cpp b/libcxx/test/libcxx/private_headers.verify.cpp
index 928ce0cd3600b..9b1120efd5234 100644
--- a/libcxx/test/libcxx/private_headers.verify.cpp
+++ b/libcxx/test/libcxx/private_headers.verify.cpp
@@ -427,6 +427,7 @@ END-SCRIPT
#include <__memory/allocation_guard.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocation_guard.h'}}
#include <__memory/allocator.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocator.h'}}
#include <__memory/allocator_arg_t.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocator_arg_t.h'}}
+#include <__memory/allocator_destructor.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocator_destructor.h'}}
#include <__memory/allocator_traits.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocator_traits.h'}}
#include <__memory/assume_aligned.h> // expected-error@*:* {{use of private header from outside its module: '__memory/assume_aligned.h'}}
#include <__memory/auto_ptr.h> // expected-error@*:* {{use of private header from outside its module: '__memory/auto_ptr.h'}}
diff --git a/libcxx/test/libcxx/transitive_includes/cxx03.csv b/libcxx/test/libcxx/transitive_includes/cxx03.csv
index 6e5ce44423c71..a5f334a04f7a7 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx03.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx03.csv
@@ -107,6 +107,7 @@ charconv iosfwd
charconv limits
charconv type_traits
chrono compare
+chrono concepts
chrono cstdint
chrono ctime
chrono limits
@@ -610,17 +611,24 @@ optional typeinfo
optional utility
optional variant
optional version
+ostream atomic
ostream bitset
+ostream concepts
ostream cstddef
ostream cstdint
+ostream cstdlib
ostream cstring
+ostream initializer_list
ostream ios
+ostream iosfwd
ostream iterator
ostream limits
ostream locale
ostream new
+ostream stdexcept
ostream streambuf
ostream type_traits
+ostream typeinfo
ostream version
queue compare
queue concepts
diff --git a/libcxx/test/libcxx/transitive_includes/cxx11.csv b/libcxx/test/libcxx/transitive_includes/cxx11.csv
index 837e22b85df79..6ad398a3b092c 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx11.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx11.csv
@@ -107,6 +107,7 @@ charconv iosfwd
charconv limits
charconv type_traits
chrono compare
+chrono concepts
chrono cstdint
chrono ctime
chrono limits
@@ -611,17 +612,24 @@ optional typeinfo
optional utility
optional variant
optional version
+ostream atomic
ostream bitset
+ostream concepts
ostream cstddef
ostream cstdint
+ostream cstdlib
ostream cstring
+ostream initializer_list
ostream ios
+ostream iosfwd
ostream iterator
ostream limits
ostream locale
ostream new
+ostream stdexcept
ostream streambuf
ostream type_traits
+ostream typeinfo
ostream version
queue compare
queue concepts
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14.csv b/libcxx/test/libcxx/transitive_includes/cxx14.csv
index e1cbeeee647f0..2b13557fd2460 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx14.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx14.csv
@@ -107,6 +107,7 @@ charconv iosfwd
charconv limits
charconv type_traits
chrono compare
+chrono concepts
chrono cstdint
chrono ctime
chrono limits
@@ -613,17 +614,24 @@ optional typeinfo
optional utility
optional variant
optional version
+ostream atomic
ostream bitset
+ostream concepts
ostream cstddef
ostream cstdint
+ostream cstdlib
ostream cstring
+ostream initializer_list
ostream ios
+ostream iosfwd
ostream iterator
ostream limits
ostream locale
ostream new
+ostream stdexcept
ostream streambuf
ostream type_traits
+ostream typeinfo
ostream version
queue compare
queue concepts
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17.csv b/libcxx/test/libcxx/transitive_includes/cxx17.csv
index e1cbeeee647f0..2b13557fd2460 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx17.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx17.csv
@@ -107,6 +107,7 @@ charconv iosfwd
charconv limits
charconv type_traits
chrono compare
+chrono concepts
chrono cstdint
chrono ctime
chrono limits
@@ -613,17 +614,24 @@ optional typeinfo
optional utility
optional variant
optional version
+ostream atomic
ostream bitset
+ostream concepts
ostream cstddef
ostream cstdint
+ostream cstdlib
ostream cstring
+ostream initializer_list
ostream ios
+ostream iosfwd
ostream iterator
ostream limits
ostream locale
ostream new
+ostream stdexcept
ostream streambuf
ostream type_traits
+ostream typeinfo
ostream version
queue compare
queue concepts
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20.csv b/libcxx/test/libcxx/transitive_includes/cxx20.csv
index ead6b43f1bada..9f3d88d78c5ae 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx20.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx20.csv
@@ -623,17 +623,24 @@ optional typeinfo
optional utility
optional variant
optional version
+ostream atomic
ostream bitset
+ostream concepts
ostream cstddef
ostream cstdint
+ostream cstdlib
ostream cstring
+ostream initializer_list
ostream ios
+ostream iosfwd
ostream iterator
ostream limits
ostream locale
ostream new
+ostream stdexcept
ostream streambuf
ostream type_traits
+ostream typeinfo
ostream version
queue compare
queue concepts
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b.csv b/libcxx/test/libcxx/transitive_includes/cxx2b.csv
index d896ed6cc26b8..b00cba3aa7a8f 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx2b.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b.csv
@@ -10,13 +10,11 @@ algorithm limits
algorithm new
algorithm type_traits
algorithm version
-any atomic
any cstddef
any cstdint
any cstdlib
any cstring
any initializer_list
-any iosfwd
any limits
any new
any stdexcept
@@ -103,21 +101,12 @@ chrono version
cinttypes cstdint
cmath type_traits
cmath version
-codecvt atomic
codecvt cctype
codecvt cstddef
codecvt cstdint
-codecvt cstdlib
codecvt cstring
-codecvt initializer_list
-codecvt iosfwd
-codecvt limits
codecvt mutex
-codecvt new
-codecvt stdexcept
codecvt string
-codecvt type_traits
-codecvt typeinfo
codecvt version
compare cmath
compare cstddef
@@ -161,20 +150,17 @@ ctgmath ccomplex
ctgmath cmath
cwchar cwctype
cwctype cctype
-deque atomic
deque compare
deque cstddef
deque cstdint
deque cstdlib
deque cstring
deque initializer_list
-deque iosfwd
deque limits
deque new
deque stdexcept
deque tuple
deque type_traits
-deque typeinfo
deque version
exception cstddef
exception cstdlib
@@ -293,22 +279,18 @@ format string
format string_view
format type_traits
format version
-forward_list atomic
forward_list compare
forward_list cstddef
forward_list cstdint
forward_list cstdlib
forward_list cstring
forward_list initializer_list
-forward_list iosfwd
forward_list limits
forward_list new
forward_list stdexcept
forward_list tuple
forward_list type_traits
-forward_list typeinfo
forward_list version
-fstream atomic
fstream cctype
fstream cstddef
fstream cstdint
@@ -317,13 +299,9 @@ fstream cstdlib
fstream cstring
fstream filesystem
fstream initializer_list
-fstream iosfwd
fstream istream
-fstream limits
fstream mutex
-fstream new
fstream ostream
-fstream stdexcept
fstream string
fstream type_traits
fstream typeinfo
@@ -364,18 +342,11 @@ ios atomic
ios cctype
ios cstddef
ios cstdint
-ios cstdlib
ios cstring
-ios initializer_list
ios iosfwd
-ios limits
ios mutex
-ios new
-ios stdexcept
ios string
ios system_error
-ios type_traits
-ios typeinfo
ios version
iosfwd version
iostream ios
@@ -403,22 +374,18 @@ latch limits
latch version
limits type_traits
limits version
-list atomic
list compare
list cstddef
list cstdint
list cstdlib
list cstring
list initializer_list
-list iosfwd
list limits
list new
list stdexcept
list tuple
list type_traits
-list typeinfo
list version
-locale atomic
locale cctype
locale cstddef
locale cstdint
@@ -432,11 +399,9 @@ locale iosfwd
locale limits
locale mutex
locale new
-locale stdexcept
locale streambuf
locale string
locale type_traits
-locale typeinfo
locale version
map compare
map cstddef
@@ -510,16 +475,22 @@ optional new
optional stdexcept
optional type_traits
optional version
+ostream atomic
ostream bitset
ostream cstddef
ostream cstdint
+ostream cstdlib
ostream cstring
+ostream initializer_list
ostream ios
+ostream iosfwd
ostream limits
ostream locale
ostream new
+ostream stdexcept
ostream streambuf
ostream type_traits
+ostream typeinfo
ostream version
queue compare
queue cstddef
@@ -562,7 +533,6 @@ ratio climits
ratio cstdint
ratio type_traits
ratio version
-regex atomic
regex cctype
regex compare
regex cstddef
@@ -571,14 +541,11 @@ regex cstdlib
regex cstring
regex deque
regex initializer_list
-regex iosfwd
regex limits
regex mutex
-regex new
regex stdexcept
regex string
regex type_traits
-regex typeinfo
regex vector
regex version
scoped_allocator cstddef
@@ -764,7 +731,6 @@ variant new
variant tuple
variant type_traits
variant version
-vector atomic
vector climits
vector compare
vector cstddef
@@ -778,5 +744,4 @@ vector new
vector stdexcept
vector tuple
vector type_traits
-vector typeinfo
vector version
More information about the libcxx-commits
mailing list