diff --git a/libcxx/docs/ReleaseNotes.rst b/libcxx/docs/ReleaseNotes.rst
--- a/libcxx/docs/ReleaseNotes.rst
+++ b/libcxx/docs/ReleaseNotes.rst
@@ -97,19 +97,10 @@
   ``<filesystem>`` header. The associated macro
   ``_LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM`` has also been removed.
 
-- Some libc++ headers no longer transitively include all of:
-    - ``<algorithm>``
-    - ``<chrono>``
-    - ``<exception>``
-    - ``<functional>``
-    - ``<iterator>``
-    - ``<new>``
-    - ``<typeinfo>``
-    - ``<utility>``
-
-  If, after updating libc++, you see compiler errors related to missing declarations
-  in namespace ``std``, it might be because one of your source files now needs to
-  include one or more of the headers listed above.
+- Libc++ is getting ready to remove unnecessary transitive inclusions. This may
+  break your code in the future. To future-proof your code to these removals,
+  please compile your code with ``_LIBCPP_REMOVE_TRANSITIVE_INCLUDES`` defined
+  and fix any compilation error resulting from missing includes.
 
 - The integer distributions ``binomial_distribution``, ``discrete_distribution``,
   ``geometric_distribution``, ``negative_binomial_distribution``, ``poisson_distribution``,
diff --git a/libcxx/include/algorithm b/libcxx/include/algorithm
--- a/libcxx/include/algorithm
+++ b/libcxx/include/algorithm
@@ -1260,6 +1260,13 @@
 #include <__algorithm/unwrap_iter.h>
 #include <__algorithm/upper_bound.h>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <chrono>
+#  include <functional>
+#  include <iterator>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 #include <initializer_list>
 
diff --git a/libcxx/include/any b/libcxx/include/any
--- a/libcxx/include/any
+++ b/libcxx/include/any
@@ -94,6 +94,10 @@
 #include <typeinfo>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <chrono>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/array b/libcxx/include/array
--- a/libcxx/include/array
+++ b/libcxx/include/array
@@ -123,6 +123,12 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <iterator>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/atomic b/libcxx/include/atomic
--- a/libcxx/include/atomic
+++ b/libcxx/include/atomic
@@ -534,6 +534,10 @@
 # include <__threading_support>
 #endif
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <chrono>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/bit b/libcxx/include/bit
--- a/libcxx/include/bit
+++ b/libcxx/include/bit
@@ -71,6 +71,10 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iosfwd>
+#endif
+
 #if defined(__IBMCPP__)
 #  include "__support/ibm/support.h"
 #endif
diff --git a/libcxx/include/charconv b/libcxx/include/charconv
--- a/libcxx/include/charconv
+++ b/libcxx/include/charconv
@@ -96,6 +96,10 @@
 #include <limits>
 #include <type_traits>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iosfwd>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/coroutine b/libcxx/include/coroutine
--- a/libcxx/include/coroutine
+++ b/libcxx/include/coroutine
@@ -46,6 +46,10 @@
 #include <__coroutine/trivial_awaitables.h>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iosfwd>
+#endif
+
 // standard-mandated includes
 #include <compare>
 
diff --git a/libcxx/include/deque b/libcxx/include/deque
--- a/libcxx/include/deque
+++ b/libcxx/include/deque
@@ -185,6 +185,11 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <iterator>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/experimental/coroutine b/libcxx/include/experimental/coroutine
--- a/libcxx/include/experimental/coroutine
+++ b/libcxx/include/experimental/coroutine
@@ -54,6 +54,10 @@
 #include <new>
 #include <type_traits>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <functional>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/experimental/functional b/libcxx/include/experimental/functional
--- a/libcxx/include/experimental/functional
+++ b/libcxx/include/experimental/functional
@@ -70,6 +70,10 @@
 #include <unordered_map>
 #include <vector>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/experimental/memory_resource b/libcxx/include/experimental/memory_resource
--- a/libcxx/include/experimental/memory_resource
+++ b/libcxx/include/experimental/memory_resource
@@ -77,6 +77,10 @@
 #include <stdexcept>
 #include <type_traits>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <utility>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/experimental/propagate_const b/libcxx/include/experimental/propagate_const
--- a/libcxx/include/experimental/propagate_const
+++ b/libcxx/include/experimental/propagate_const
@@ -115,6 +115,11 @@
 #include <experimental/__config>
 #include <type_traits>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <functional>
+#  include <utility>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/experimental/simd b/libcxx/include/experimental/simd
--- a/libcxx/include/experimental/simd
+++ b/libcxx/include/experimental/simd
@@ -656,6 +656,11 @@
 #include <experimental/__config>
 #include <tuple>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <functional>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/experimental/unordered_map b/libcxx/include/experimental/unordered_map
--- a/libcxx/include/experimental/unordered_map
+++ b/libcxx/include/experimental/unordered_map
@@ -45,6 +45,14 @@
 #include <experimental/memory_resource>
 #include <unordered_map>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <array>
+#  include <bit>
+#  include <functional>
+#  include <vector>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
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
@@ -210,6 +210,10 @@
 #include <stdexcept>
 #include <type_traits>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iterator>
+#endif
+
 #if defined(__DEPRECATED) && __DEPRECATED
 #if defined(_LIBCPP_WARNING)
     _LIBCPP_WARNING("Use of the header <ext/hash_map> is deprecated.  Migrate to <unordered_map>")
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
@@ -199,6 +199,10 @@
 #include <ext/__hash>
 #include <functional>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iterator>
+#endif
+
 #if defined(__DEPRECATED) && __DEPRECATED
 #if defined(_LIBCPP_WARNING)
     _LIBCPP_WARNING("Use of the header <ext/hash_set> is deprecated.  Migrate to <unordered_set>")
diff --git a/libcxx/include/forward_list b/libcxx/include/forward_list
--- a/libcxx/include/forward_list
+++ b/libcxx/include/forward_list
@@ -194,6 +194,11 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <iterator>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/functional b/libcxx/include/functional
--- a/libcxx/include/functional
+++ b/libcxx/include/functional
@@ -529,6 +529,10 @@
 #include <typeinfo>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <utility>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/future b/libcxx/include/future
--- a/libcxx/include/future
+++ b/libcxx/include/future
@@ -378,6 +378,10 @@
 #include <thread>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <chrono>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/iterator b/libcxx/include/iterator
--- a/libcxx/include/iterator
+++ b/libcxx/include/iterator
@@ -724,6 +724,13 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <exception>
+#  include <new>
+#  include <typeinfo>
+#  include <utility>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/list b/libcxx/include/list
--- a/libcxx/include/list
+++ b/libcxx/include/list
@@ -202,6 +202,11 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <iterator>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/locale b/libcxx/include/locale
--- a/libcxx/include/locale
+++ b/libcxx/include/locale
@@ -211,6 +211,10 @@
 #include <streambuf>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iterator>
+#endif
+
 #if defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
 // Most unix variants have catopen.  These are the specific ones that don't.
 #  if !defined(__BIONIC__) && !defined(_NEWLIB_VERSION) && !defined(__EMSCRIPTEN__)
diff --git a/libcxx/include/map b/libcxx/include/map
--- a/libcxx/include/map
+++ b/libcxx/include/map
@@ -546,6 +546,12 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <functional>
+#  include <iterator>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/memory b/libcxx/include/memory
--- a/libcxx/include/memory
+++ b/libcxx/include/memory
@@ -871,6 +871,11 @@
 #include <typeinfo>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iterator>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 #include <compare>
 
diff --git a/libcxx/include/mutex b/libcxx/include/mutex
--- a/libcxx/include/mutex
+++ b/libcxx/include/mutex
@@ -198,6 +198,10 @@
 #endif
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <functional>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/numeric b/libcxx/include/numeric
--- a/libcxx/include/numeric
+++ b/libcxx/include/numeric
@@ -163,6 +163,11 @@
 #include <__numeric/transform_inclusive_scan.h>
 #include <__numeric/transform_reduce.h>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <functional>
+#  include <iterator>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/optional b/libcxx/include/optional
--- a/libcxx/include/optional
+++ b/libcxx/include/optional
@@ -177,6 +177,20 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <atomic>
+#  include <chrono>
+#  include <climits>
+#  include <concepts>
+#  include <ctime>
+#  include <iterator>
+#  include <ratio>
+#  include <tuple>
+#  include <typeinfo>
+#  include <utility>
+#  include <variant>
+#endif
+
 // standard-mandated includes
 #include <compare>
 
diff --git a/libcxx/include/ostream b/libcxx/include/ostream
--- a/libcxx/include/ostream
+++ b/libcxx/include/ostream
@@ -142,6 +142,10 @@
 #include <streambuf>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iterator>
+#endif
+
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif
diff --git a/libcxx/include/queue b/libcxx/include/queue
--- a/libcxx/include/queue
+++ b/libcxx/include/queue
@@ -231,6 +231,10 @@
 #include <vector>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <functional>
+#endif
+
 // standard-mandated includes
 #include <compare>
 #include <initializer_list>
diff --git a/libcxx/include/random b/libcxx/include/random
--- a/libcxx/include/random
+++ b/libcxx/include/random
@@ -1718,6 +1718,10 @@
 #include <__random/weibull_distribution.h>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#endif
+
 // standard-mandated includes
 #include <initializer_list>
 
diff --git a/libcxx/include/regex b/libcxx/include/regex
--- a/libcxx/include/regex
+++ b/libcxx/include/regex
@@ -778,6 +778,11 @@
 #include <vector>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iterator>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/set b/libcxx/include/set
--- a/libcxx/include/set
+++ b/libcxx/include/set
@@ -485,6 +485,11 @@
 #include <__utility/forward.h>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <functional>
+#  include <iterator>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/span b/libcxx/include/span
--- a/libcxx/include/span
+++ b/libcxx/include/span
@@ -148,6 +148,10 @@
 #include <type_traits>  // for remove_cv, etc
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iterator>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/string b/libcxx/include/string
--- a/libcxx/include/string
+++ b/libcxx/include/string
@@ -555,6 +555,14 @@
 #  include <cwchar>
 #endif
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <iterator>
+#  include <new>
+#  include <typeinfo>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/string_view b/libcxx/include/string_view
--- a/libcxx/include/string_view
+++ b/libcxx/include/string_view
@@ -218,6 +218,11 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <iterator>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/thread b/libcxx/include/thread
--- a/libcxx/include/thread
+++ b/libcxx/include/thread
@@ -98,6 +98,11 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <chrono>
+#  include <functional>
+#endif
+
 // standard-mandated includes
 #include <compare>
 
diff --git a/libcxx/include/tuple b/libcxx/include/tuple
--- a/libcxx/include/tuple
+++ b/libcxx/include/tuple
@@ -219,6 +219,14 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <exception>
+#  include <iosfwd>
+#  include <new>
+#  include <typeinfo>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 #include <compare>
 
diff --git a/libcxx/include/typeindex b/libcxx/include/typeindex
--- a/libcxx/include/typeindex
+++ b/libcxx/include/typeindex
@@ -50,6 +50,12 @@
 #include <typeinfo>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iosfwd>
+#  include <new>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 #include <compare>
 
diff --git a/libcxx/include/unordered_map b/libcxx/include/unordered_map
--- a/libcxx/include/unordered_map
+++ b/libcxx/include/unordered_map
@@ -531,6 +531,10 @@
 #include <tuple>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iterator>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/unordered_set b/libcxx/include/unordered_set
--- a/libcxx/include/unordered_set
+++ b/libcxx/include/unordered_set
@@ -474,6 +474,11 @@
 #include <__utility/forward.h>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <functional>
+#  include <iterator>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/include/utility b/libcxx/include/utility
--- a/libcxx/include/utility
+++ b/libcxx/include/utility
@@ -243,6 +243,10 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <iosfwd>
+#endif
+
 // standard-mandated includes
 #include <compare>
 #include <initializer_list>
diff --git a/libcxx/include/valarray b/libcxx/include/valarray
--- a/libcxx/include/valarray
+++ b/libcxx/include/valarray
@@ -360,6 +360,11 @@
 #include <new>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <functional>
+#endif
+
 // standard-mandated includes
 #include <initializer_list>
 
diff --git a/libcxx/include/variant b/libcxx/include/variant
--- a/libcxx/include/variant
+++ b/libcxx/include/variant
@@ -219,6 +219,11 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <typeinfo>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 #include <compare>
 
diff --git a/libcxx/include/vector b/libcxx/include/vector
--- a/libcxx/include/vector
+++ b/libcxx/include/vector
@@ -305,6 +305,12 @@
 #include <type_traits>
 #include <version>
 
+#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
+#  include <algorithm>
+#  include <typeinfo>
+#  include <utility>
+#endif
+
 // standard-mandated includes
 
 // [iterator.range]
diff --git a/libcxx/test/libcxx/transitive_includes/expected.algorithm b/libcxx/test/libcxx/transitive_includes/expected.algorithm
--- a/libcxx/test/libcxx/transitive_includes/expected.algorithm
+++ b/libcxx/test/libcxx/transitive_includes/expected.algorithm
@@ -1,6 +1,8 @@
 algorithm
+array
 atomic
 bit
+chrono
 climits
 cmath
 compare
@@ -11,14 +13,21 @@
 cstring
 ctime
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.any b/libcxx/test/libcxx/transitive_includes/expected.any
--- a/libcxx/test/libcxx/transitive_includes/expected.any
+++ b/libcxx/test/libcxx/transitive_includes/expected.any
@@ -1,5 +1,6 @@
 any
 atomic
+chrono
 climits
 cmath
 compare
@@ -12,6 +13,7 @@
 exception
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -20,4 +22,6 @@
 tuple
 type_traits
 typeinfo
+utility
+variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.array b/libcxx/test/libcxx/transitive_includes/expected.array
--- a/libcxx/test/libcxx/transitive_includes/expected.array
+++ b/libcxx/test/libcxx/transitive_includes/expected.array
@@ -1,14 +1,33 @@
+algorithm
 array
+atomic
+bit
+chrono
+climits
 cmath
 compare
 concepts
 cstddef
 cstdint
 cstdlib
+cstring
+ctime
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
+memory
+new
+optional
+ratio
 stdexcept
+tuple
 type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.atomic b/libcxx/test/libcxx/transitive_includes/expected.atomic
--- a/libcxx/test/libcxx/transitive_includes/expected.atomic
+++ b/libcxx/test/libcxx/transitive_includes/expected.atomic
@@ -1,5 +1,8 @@
 atomic
+chrono
 climits
+cmath
+compare
 cstddef
 cstdint
 cstring
diff --git a/libcxx/test/libcxx/transitive_includes/expected.barrier b/libcxx/test/libcxx/transitive_includes/expected.barrier
--- a/libcxx/test/libcxx/transitive_includes/expected.barrier
+++ b/libcxx/test/libcxx/transitive_includes/expected.barrier
@@ -1,5 +1,6 @@
 atomic
 barrier
+chrono
 climits
 cmath
 compare
@@ -12,6 +13,7 @@
 exception
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -20,4 +22,6 @@
 tuple
 type_traits
 typeinfo
+utility
+variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.bit b/libcxx/test/libcxx/transitive_includes/expected.bit
--- a/libcxx/test/libcxx/transitive_includes/expected.bit
+++ b/libcxx/test/libcxx/transitive_includes/expected.bit
@@ -2,6 +2,7 @@
 cstddef
 cstdint
 cstdlib
+iosfwd
 limits
 type_traits
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.bitset b/libcxx/test/libcxx/transitive_includes/expected.bitset
--- a/libcxx/test/libcxx/transitive_includes/expected.bitset
+++ b/libcxx/test/libcxx/transitive_includes/expected.bitset
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
+chrono
 climits
 cmath
 compare
@@ -14,11 +18,14 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 string
@@ -26,4 +33,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
--- a/libcxx/test/libcxx/transitive_includes/expected.ccomplex
+++ b/libcxx/test/libcxx/transitive_includes/expected.ccomplex
@@ -1,8 +1,12 @@
+algorithm
+array
 atomic
+bit
 bitset
 ccomplex
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -18,15 +22,18 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 sstream
@@ -38,4 +45,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.charconv b/libcxx/test/libcxx/transitive_includes/expected.charconv
--- a/libcxx/test/libcxx/transitive_includes/expected.charconv
+++ b/libcxx/test/libcxx/transitive_includes/expected.charconv
@@ -6,6 +6,7 @@
 cstdint
 cstdlib
 cstring
+iosfwd
 limits
 type_traits
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.codecvt b/libcxx/test/libcxx/transitive_includes/expected.codecvt
--- a/libcxx/test/libcxx/transitive_includes/expected.codecvt
+++ b/libcxx/test/libcxx/transitive_includes/expected.codecvt
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 codecvt
@@ -15,12 +19,15 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 mutex
 new
+optional
 ratio
 stdexcept
 string
@@ -29,4 +36,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.complex b/libcxx/test/libcxx/transitive_includes/expected.complex
--- a/libcxx/test/libcxx/transitive_includes/expected.complex
+++ b/libcxx/test/libcxx/transitive_includes/expected.complex
@@ -1,7 +1,11 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -17,15 +21,18 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 sstream
@@ -37,4 +44,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
--- a/libcxx/test/libcxx/transitive_includes/expected.condition_variable
+++ b/libcxx/test/libcxx/transitive_includes/expected.condition_variable
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -15,11 +19,14 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 string
@@ -28,4 +35,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.coroutine b/libcxx/test/libcxx/transitive_includes/expected.coroutine
--- a/libcxx/test/libcxx/transitive_includes/expected.coroutine
+++ b/libcxx/test/libcxx/transitive_includes/expected.coroutine
@@ -4,6 +4,7 @@
 cstddef
 cstdint
 cstring
+iosfwd
 limits
 type_traits
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
--- a/libcxx/test/libcxx/transitive_includes/expected.ctgmath
+++ b/libcxx/test/libcxx/transitive_includes/expected.ctgmath
@@ -1,8 +1,12 @@
+algorithm
+array
 atomic
+bit
 bitset
 ccomplex
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -19,15 +23,18 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 sstream
@@ -39,4 +46,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.deque b/libcxx/test/libcxx/transitive_includes/expected.deque
--- a/libcxx/test/libcxx/transitive_includes/expected.deque
+++ b/libcxx/test/libcxx/transitive_includes/expected.deque
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -10,14 +14,21 @@
 ctime
 deque
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
@@ -1,6 +1,8 @@
 algorithm
+array
 atomic
 bit
+chrono
 climits
 cmath
 compare
@@ -12,14 +14,21 @@
 ctime
 exception
 experimental/algorithm
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -10,14 +14,21 @@
 ctime
 exception
 experimental/coroutine
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_deque
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -13,15 +17,21 @@
 experimental/deque
 experimental/memory_resource
 experimental/utility
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
 utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -13,15 +17,21 @@
 experimental/memory_resource
 experimental/utility
 forward_list
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
 utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_functional
@@ -1,5 +1,8 @@
+algorithm
 array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -14,6 +17,7 @@
 functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -24,5 +28,7 @@
 type_traits
 typeinfo
 unordered_map
+utility
+variant
 vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
@@ -14,5 +14,7 @@
 new
 tuple
 type_traits
+typeinfo
+utility
 variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_list
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_list
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -12,16 +16,22 @@
 experimental/list
 experimental/memory_resource
 experimental/utility
+functional
 initializer_list
 iosfwd
+iterator
 limits
 list
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
 utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_map
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_map
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -12,8 +16,10 @@
 experimental/map
 experimental/memory_resource
 experimental/utility
+functional
 initializer_list
 iosfwd
+iterator
 limits
 map
 memory
@@ -24,5 +30,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
 utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
@@ -1,4 +1,5 @@
 atomic
+chrono
 climits
 cmath
 compare
@@ -13,6 +14,7 @@
 experimental/utility
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -22,4 +24,5 @@
 type_traits
 typeinfo
 utility
+variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const b/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
@@ -1,5 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
 cstddef
 cstdint
+cstdlib
+cstring
+ctime
+exception
 experimental/propagate_const
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
 type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_regex
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -19,12 +23,15 @@
 experimental/regex
 experimental/string
 experimental/utility
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 mutex
 new
+optional
 ratio
 regex
 stdexcept
@@ -34,6 +41,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
 utility
+variant
 vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_set
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_set
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -12,8 +16,10 @@
 experimental/memory_resource
 experimental/set
 experimental/utility
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -24,5 +30,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
 utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_simd
@@ -1,16 +1,34 @@
+algorithm
 array
+atomic
+bit
+chrono
+climits
 cmath
 compare
 concepts
 cstddef
 cstdint
 cstdlib
+cstring
+ctime
 exception
 experimental/simd
+functional
 initializer_list
 iosfwd
+iterator
 limits
+memory
+new
+optional
+ratio
 stdexcept
 tuple
 type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_string
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_string
@@ -1,5 +1,9 @@
+algorithm
+array
 atomic
+bit
 cctype
+chrono
 climits
 cmath
 compare
@@ -16,11 +20,14 @@
 experimental/memory_resource
 experimental/string
 experimental/utility
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 string
@@ -28,5 +35,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
 utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -12,8 +16,10 @@
 experimental/memory_resource
 experimental/unordered_map
 experimental/utility
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -25,4 +31,6 @@
 typeinfo
 unordered_map
 utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -12,8 +16,10 @@
 experimental/memory_resource
 experimental/unordered_set
 experimental/utility
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -23,6 +29,9 @@
 tuple
 type_traits
 typeinfo
+unordered_map
 unordered_set
 utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_utility
@@ -5,6 +5,7 @@
 cstdlib
 experimental/utility
 initializer_list
+iosfwd
 limits
 type_traits
 utility
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
--- a/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
+++ b/libcxx/test/libcxx/transitive_includes/expected.experimental_vector
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -12,16 +16,21 @@
 experimental/memory_resource
 experimental/utility
 experimental/vector
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
 utility
+variant
 vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
--- a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
+++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
@@ -3,6 +3,7 @@
 atomic
 bit
 cctype
+chrono
 climits
 cmath
 compare
@@ -20,6 +21,7 @@
 functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -32,5 +34,7 @@
 type_traits
 typeinfo
 unordered_map
+utility
+variant
 vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
--- a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
+++ b/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
@@ -3,6 +3,7 @@
 atomic
 bit
 cctype
+chrono
 climits
 cmath
 compare
@@ -20,6 +21,7 @@
 functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -32,5 +34,7 @@
 type_traits
 typeinfo
 unordered_map
+utility
+variant
 vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.filesystem b/libcxx/test/libcxx/transitive_includes/expected.filesystem
--- a/libcxx/test/libcxx/transitive_includes/expected.filesystem
+++ b/libcxx/test/libcxx/transitive_includes/expected.filesystem
@@ -1,7 +1,11 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -17,16 +21,19 @@
 cwctype
 exception
 filesystem
+functional
 initializer_list
 iomanip
 ios
 iosfwd
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 stdexcept
@@ -37,4 +44,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.format b/libcxx/test/libcxx/transitive_includes/expected.format
--- a/libcxx/test/libcxx/transitive_includes/expected.format
+++ b/libcxx/test/libcxx/transitive_includes/expected.format
@@ -1,9 +1,11 @@
+algorithm
 array
 atomic
 bit
 cctype
 cerrno
 charconv
+chrono
 climits
 cmath
 compare
@@ -19,9 +21,11 @@
 cwctype
 exception
 format
+functional
 initializer_list
 ios
 iosfwd
+iterator
 limits
 locale
 memory
@@ -37,4 +41,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.forward_list b/libcxx/test/libcxx/transitive_includes/expected.forward_list
--- a/libcxx/test/libcxx/transitive_includes/expected.forward_list
+++ b/libcxx/test/libcxx/transitive_includes/expected.forward_list
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -10,14 +14,21 @@
 ctime
 exception
 forward_list
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.fstream b/libcxx/test/libcxx/transitive_includes/expected.fstream
--- a/libcxx/test/libcxx/transitive_includes/expected.fstream
+++ b/libcxx/test/libcxx/transitive_includes/expected.fstream
@@ -1,7 +1,11 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -18,16 +22,19 @@
 exception
 filesystem
 fstream
+functional
 initializer_list
 iomanip
 ios
 iosfwd
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 stdexcept
@@ -38,4 +45,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.functional b/libcxx/test/libcxx/transitive_includes/expected.functional
--- a/libcxx/test/libcxx/transitive_includes/expected.functional
+++ b/libcxx/test/libcxx/transitive_includes/expected.functional
@@ -1,5 +1,8 @@
+algorithm
 array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -13,6 +16,7 @@
 functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -23,5 +27,7 @@
 type_traits
 typeinfo
 unordered_map
+utility
+variant
 vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.future b/libcxx/test/libcxx/transitive_includes/expected.future
--- a/libcxx/test/libcxx/transitive_includes/expected.future
+++ b/libcxx/test/libcxx/transitive_includes/expected.future
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -14,13 +18,16 @@
 cwchar
 cwctype
 exception
+functional
 future
 initializer_list
 iosfwd
+iterator
 limits
 memory
 mutex
 new
+optional
 ratio
 stdexcept
 string
@@ -30,4 +37,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.iomanip b/libcxx/test/libcxx/transitive_includes/expected.iomanip
--- a/libcxx/test/libcxx/transitive_includes/expected.iomanip
+++ b/libcxx/test/libcxx/transitive_includes/expected.iomanip
@@ -1,7 +1,11 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -16,16 +20,19 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iomanip
 ios
 iosfwd
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 stdexcept
@@ -36,4 +43,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ios b/libcxx/test/libcxx/transitive_includes/expected.ios
--- a/libcxx/test/libcxx/transitive_includes/expected.ios
+++ b/libcxx/test/libcxx/transitive_includes/expected.ios
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -14,13 +18,16 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
+iterator
 limits
 memory
 mutex
 new
+optional
 ratio
 stdexcept
 string
@@ -29,4 +36,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.iostream b/libcxx/test/libcxx/transitive_includes/expected.iostream
--- a/libcxx/test/libcxx/transitive_includes/expected.iostream
+++ b/libcxx/test/libcxx/transitive_includes/expected.iostream
@@ -1,7 +1,11 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -16,16 +20,19 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
 iostream
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 stdexcept
@@ -36,4 +43,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.istream b/libcxx/test/libcxx/transitive_includes/expected.istream
--- a/libcxx/test/libcxx/transitive_includes/expected.istream
+++ b/libcxx/test/libcxx/transitive_includes/expected.istream
@@ -1,7 +1,11 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -16,15 +20,18 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 stdexcept
@@ -35,4 +42,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.iterator b/libcxx/test/libcxx/transitive_includes/expected.iterator
--- a/libcxx/test/libcxx/transitive_includes/expected.iterator
+++ b/libcxx/test/libcxx/transitive_includes/expected.iterator
@@ -13,5 +13,7 @@
 new
 tuple
 type_traits
+typeinfo
+utility
 variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.latch b/libcxx/test/libcxx/transitive_includes/expected.latch
--- a/libcxx/test/libcxx/transitive_includes/expected.latch
+++ b/libcxx/test/libcxx/transitive_includes/expected.latch
@@ -1,5 +1,8 @@
 atomic
+chrono
 climits
+cmath
+compare
 cstddef
 cstdint
 cstring
diff --git a/libcxx/test/libcxx/transitive_includes/expected.list b/libcxx/test/libcxx/transitive_includes/expected.list
--- a/libcxx/test/libcxx/transitive_includes/expected.list
+++ b/libcxx/test/libcxx/transitive_includes/expected.list
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -9,15 +13,22 @@
 cstring
 ctime
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 list
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.locale b/libcxx/test/libcxx/transitive_includes/expected.locale
--- a/libcxx/test/libcxx/transitive_includes/expected.locale
+++ b/libcxx/test/libcxx/transitive_includes/expected.locale
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -15,14 +19,17 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ratio
 stdexcept
 streambuf
@@ -32,4 +39,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.map b/libcxx/test/libcxx/transitive_includes/expected.map
--- a/libcxx/test/libcxx/transitive_includes/expected.map
+++ b/libcxx/test/libcxx/transitive_includes/expected.map
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -9,8 +13,10 @@
 cstring
 ctime
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 map
 memory
@@ -21,4 +27,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.memory b/libcxx/test/libcxx/transitive_includes/expected.memory
--- a/libcxx/test/libcxx/transitive_includes/expected.memory
+++ b/libcxx/test/libcxx/transitive_includes/expected.memory
@@ -1,4 +1,5 @@
 atomic
+chrono
 climits
 cmath
 compare
@@ -11,6 +12,7 @@
 exception
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -19,4 +21,6 @@
 tuple
 type_traits
 typeinfo
+utility
+variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.mutex b/libcxx/test/libcxx/transitive_includes/expected.mutex
--- a/libcxx/test/libcxx/transitive_includes/expected.mutex
+++ b/libcxx/test/libcxx/transitive_includes/expected.mutex
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -14,12 +18,15 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 mutex
 new
+optional
 ratio
 stdexcept
 string
@@ -28,4 +35,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.numeric b/libcxx/test/libcxx/transitive_includes/expected.numeric
--- a/libcxx/test/libcxx/transitive_includes/expected.numeric
+++ b/libcxx/test/libcxx/transitive_includes/expected.numeric
@@ -1,8 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
 cmath
+compare
 concepts
 cstddef
 cstdint
+cstdlib
+cstring
+ctime
+exception
+functional
+initializer_list
+iosfwd
+iterator
 limits
+memory
+new
 numeric
+optional
+ratio
+stdexcept
+tuple
 type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.optional b/libcxx/test/libcxx/transitive_includes/expected.optional
--- a/libcxx/test/libcxx/transitive_includes/expected.optional
+++ b/libcxx/test/libcxx/transitive_includes/expected.optional
@@ -1,15 +1,26 @@
+atomic
+chrono
+climits
 cmath
 compare
+concepts
 cstddef
 cstdint
 cstdlib
 cstring
+ctime
 exception
 initializer_list
 iosfwd
+iterator
 limits
 new
 optional
+ratio
 stdexcept
+tuple
 type_traits
+typeinfo
+utility
+variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ostream b/libcxx/test/libcxx/transitive_includes/expected.ostream
--- a/libcxx/test/libcxx/transitive_includes/expected.ostream
+++ b/libcxx/test/libcxx/transitive_includes/expected.ostream
@@ -1,7 +1,11 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -16,14 +20,17 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 stdexcept
@@ -34,4 +41,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.queue b/libcxx/test/libcxx/transitive_includes/expected.queue
--- a/libcxx/test/libcxx/transitive_includes/expected.queue
+++ b/libcxx/test/libcxx/transitive_includes/expected.queue
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -10,16 +14,22 @@
 ctime
 deque
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 queue
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
 vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.random b/libcxx/test/libcxx/transitive_includes/expected.random
--- a/libcxx/test/libcxx/transitive_includes/expected.random
+++ b/libcxx/test/libcxx/transitive_includes/expected.random
@@ -1,6 +1,9 @@
+algorithm
+array
 atomic
 bit
 cctype
+chrono
 climits
 cmath
 compare
@@ -14,12 +17,15 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
 numeric
+optional
 random
 ratio
 stdexcept
@@ -28,5 +34,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
 vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ranges b/libcxx/test/libcxx/transitive_includes/expected.ranges
--- a/libcxx/test/libcxx/transitive_includes/expected.ranges
+++ b/libcxx/test/libcxx/transitive_includes/expected.ranges
@@ -1,4 +1,9 @@
+algorithm
 array
+atomic
+bit
+chrono
+climits
 cmath
 compare
 concepts
@@ -6,17 +11,25 @@
 cstdint
 cstdlib
 cstring
+ctime
 exception
+functional
 initializer_list
 iosfwd
 iterator
 limits
+memory
 new
 optional
 ranges
+ratio
 span
 stdexcept
 tuple
 type_traits
+typeinfo
+unordered_map
+utility
 variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.regex b/libcxx/test/libcxx/transitive_includes/expected.regex
--- a/libcxx/test/libcxx/transitive_includes/expected.regex
+++ b/libcxx/test/libcxx/transitive_includes/expected.regex
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -15,12 +19,15 @@
 cwctype
 deque
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 mutex
 new
+optional
 ratio
 regex
 stdexcept
@@ -30,5 +37,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
 vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
--- a/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
+++ b/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
@@ -1,4 +1,5 @@
 atomic
+chrono
 climits
 cmath
 compare
@@ -11,6 +12,7 @@
 exception
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -20,4 +22,6 @@
 tuple
 type_traits
 typeinfo
+utility
+variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.semaphore b/libcxx/test/libcxx/transitive_includes/expected.semaphore
--- a/libcxx/test/libcxx/transitive_includes/expected.semaphore
+++ b/libcxx/test/libcxx/transitive_includes/expected.semaphore
@@ -1,5 +1,8 @@
 atomic
+chrono
 climits
+cmath
+compare
 cstddef
 cstdint
 cstring
diff --git a/libcxx/test/libcxx/transitive_includes/expected.set b/libcxx/test/libcxx/transitive_includes/expected.set
--- a/libcxx/test/libcxx/transitive_includes/expected.set
+++ b/libcxx/test/libcxx/transitive_includes/expected.set
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -9,8 +13,10 @@
 cstring
 ctime
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -21,4 +27,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
--- a/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
+++ b/libcxx/test/libcxx/transitive_includes/expected.shared_mutex
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -14,11 +18,14 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 shared_mutex
 stdexcept
@@ -28,4 +35,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.span b/libcxx/test/libcxx/transitive_includes/expected.span
--- a/libcxx/test/libcxx/transitive_includes/expected.span
+++ b/libcxx/test/libcxx/transitive_includes/expected.span
@@ -1,15 +1,34 @@
+algorithm
 array
+atomic
+bit
+chrono
+climits
 cmath
 compare
 concepts
 cstddef
 cstdint
 cstdlib
+cstring
+ctime
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
+memory
+new
+optional
+ratio
 span
 stdexcept
+tuple
 type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.sstream b/libcxx/test/libcxx/transitive_includes/expected.sstream
--- a/libcxx/test/libcxx/transitive_includes/expected.sstream
+++ b/libcxx/test/libcxx/transitive_includes/expected.sstream
@@ -1,7 +1,11 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -16,15 +20,18 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 sstream
@@ -36,4 +43,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.stack b/libcxx/test/libcxx/transitive_includes/expected.stack
--- a/libcxx/test/libcxx/transitive_includes/expected.stack
+++ b/libcxx/test/libcxx/transitive_includes/expected.stack
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -10,15 +14,22 @@
 ctime
 deque
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stack
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.streambuf b/libcxx/test/libcxx/transitive_includes/expected.streambuf
--- a/libcxx/test/libcxx/transitive_includes/expected.streambuf
+++ b/libcxx/test/libcxx/transitive_includes/expected.streambuf
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -14,13 +18,16 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
+iterator
 limits
 memory
 mutex
 new
+optional
 ratio
 stdexcept
 streambuf
@@ -30,4 +37,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.string b/libcxx/test/libcxx/transitive_includes/expected.string
--- a/libcxx/test/libcxx/transitive_includes/expected.string
+++ b/libcxx/test/libcxx/transitive_includes/expected.string
@@ -1,5 +1,9 @@
+algorithm
+array
 atomic
+bit
 cctype
+chrono
 climits
 cmath
 compare
@@ -13,11 +17,14 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 string
@@ -25,4 +32,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.string_view b/libcxx/test/libcxx/transitive_includes/expected.string_view
--- a/libcxx/test/libcxx/transitive_includes/expected.string_view
+++ b/libcxx/test/libcxx/transitive_includes/expected.string_view
@@ -1,4 +1,10 @@
+algorithm
+array
+atomic
+bit
 cctype
+chrono
+climits
 cmath
 compare
 concepts
@@ -7,13 +13,26 @@
 cstdio
 cstdlib
 cstring
+ctime
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
+memory
+new
+optional
+ratio
 stdexcept
 string_view
+tuple
 type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.strstream b/libcxx/test/libcxx/transitive_includes/expected.strstream
--- a/libcxx/test/libcxx/transitive_includes/expected.strstream
+++ b/libcxx/test/libcxx/transitive_includes/expected.strstream
@@ -1,7 +1,11 @@
+algorithm
+array
 atomic
+bit
 bitset
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -16,15 +20,18 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 ios
 iosfwd
 istream
+iterator
 limits
 locale
 memory
 mutex
 new
+optional
 ostream
 ratio
 stdexcept
@@ -36,4 +43,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.system_error b/libcxx/test/libcxx/transitive_includes/expected.system_error
--- a/libcxx/test/libcxx/transitive_includes/expected.system_error
+++ b/libcxx/test/libcxx/transitive_includes/expected.system_error
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -14,11 +18,14 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 string
@@ -27,4 +34,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.thread b/libcxx/test/libcxx/transitive_includes/expected.thread
--- a/libcxx/test/libcxx/transitive_includes/expected.thread
+++ b/libcxx/test/libcxx/transitive_includes/expected.thread
@@ -1,6 +1,10 @@
+algorithm
+array
 atomic
+bit
 cctype
 cerrno
+chrono
 climits
 cmath
 compare
@@ -14,11 +18,14 @@
 cwchar
 cwctype
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 string
@@ -28,4 +35,8 @@
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.tuple b/libcxx/test/libcxx/transitive_includes/expected.tuple
--- a/libcxx/test/libcxx/transitive_includes/expected.tuple
+++ b/libcxx/test/libcxx/transitive_includes/expected.tuple
@@ -2,7 +2,14 @@
 compare
 cstddef
 cstdint
+cstdlib
+exception
+initializer_list
+iosfwd
 limits
+new
 tuple
 type_traits
+typeinfo
+utility
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.typeindex b/libcxx/test/libcxx/transitive_includes/expected.typeindex
--- a/libcxx/test/libcxx/transitive_includes/expected.typeindex
+++ b/libcxx/test/libcxx/transitive_includes/expected.typeindex
@@ -4,8 +4,12 @@
 cstdint
 cstdlib
 exception
+initializer_list
+iosfwd
 limits
+new
 type_traits
 typeindex
 typeinfo
+utility
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
--- a/libcxx/test/libcxx/transitive_includes/expected.unordered_map
+++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_map
@@ -1,4 +1,5 @@
 atomic
+chrono
 climits
 cmath
 compare
@@ -11,6 +12,7 @@
 exception
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -21,4 +23,6 @@
 type_traits
 typeinfo
 unordered_map
+utility
+variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
--- a/libcxx/test/libcxx/transitive_includes/expected.unordered_set
+++ b/libcxx/test/libcxx/transitive_includes/expected.unordered_set
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -9,8 +13,10 @@
 cstring
 ctime
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
@@ -20,5 +26,9 @@
 tuple
 type_traits
 typeinfo
+unordered_map
 unordered_set
+utility
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.utility b/libcxx/test/libcxx/transitive_includes/expected.utility
--- a/libcxx/test/libcxx/transitive_includes/expected.utility
+++ b/libcxx/test/libcxx/transitive_includes/expected.utility
@@ -4,6 +4,7 @@
 cstdint
 cstdlib
 initializer_list
+iosfwd
 limits
 type_traits
 utility
diff --git a/libcxx/test/libcxx/transitive_includes/expected.valarray b/libcxx/test/libcxx/transitive_includes/expected.valarray
--- a/libcxx/test/libcxx/transitive_includes/expected.valarray
+++ b/libcxx/test/libcxx/transitive_includes/expected.valarray
@@ -1,15 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
 cmath
+compare
 concepts
 cstddef
 cstdint
 cstdlib
 cstring
+ctime
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
+memory
 new
+optional
+ratio
 stdexcept
+tuple
 type_traits
+typeinfo
+unordered_map
+utility
 valarray
+variant
+vector
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.variant b/libcxx/test/libcxx/transitive_includes/expected.variant
--- a/libcxx/test/libcxx/transitive_includes/expected.variant
+++ b/libcxx/test/libcxx/transitive_includes/expected.variant
@@ -6,9 +6,12 @@
 cstring
 exception
 initializer_list
+iosfwd
 limits
 new
 tuple
 type_traits
+typeinfo
+utility
 variant
 version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.vector b/libcxx/test/libcxx/transitive_includes/expected.vector
--- a/libcxx/test/libcxx/transitive_includes/expected.vector
+++ b/libcxx/test/libcxx/transitive_includes/expected.vector
@@ -1,4 +1,8 @@
+algorithm
+array
 atomic
+bit
+chrono
 climits
 cmath
 compare
@@ -9,15 +13,21 @@
 cstring
 ctime
 exception
+functional
 initializer_list
 iosfwd
+iterator
 limits
 memory
 new
+optional
 ratio
 stdexcept
 tuple
 type_traits
 typeinfo
+unordered_map
+utility
+variant
 vector
 version