[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