[libcxx-commits] [libcxx] 3d68a67 - [libc++] Tests transitive includes for all C++ versions.
Mark de Wever via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Aug 24 10:23:34 PDT 2022
Author: Mark de Wever
Date: 2022-08-24T19:23:23+02:00
New Revision: 3d68a67fe6718a6f9ac5e09e2586281be7f7eb70
URL: https://github.com/llvm/llvm-project/commit/3d68a67fe6718a6f9ac5e09e2586281be7f7eb70
DIFF: https://github.com/llvm/llvm-project/commit/3d68a67fe6718a6f9ac5e09e2586281be7f7eb70.diff
LOG: [libc++] Tests transitive includes for all C++ versions.
D132284 has an approach to reduce the number of transitive includes
based on the language version used. This requires to be able to validate
changes in transitive includes in all language versions.
Due to issues in the experimental library c++03 will be done separately.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D132534
Added:
libcxx/test/libcxx/transitive_includes/cxx11/expected.algorithm
libcxx/test/libcxx/transitive_includes/cxx11/expected.any
libcxx/test/libcxx/transitive_includes/cxx11/expected.array
libcxx/test/libcxx/transitive_includes/cxx11/expected.atomic
libcxx/test/libcxx/transitive_includes/cxx11/expected.barrier
libcxx/test/libcxx/transitive_includes/cxx11/expected.bit
libcxx/test/libcxx/transitive_includes/cxx11/expected.bitset
libcxx/test/libcxx/transitive_includes/cxx11/expected.cassert
libcxx/test/libcxx/transitive_includes/cxx11/expected.ccomplex
libcxx/test/libcxx/transitive_includes/cxx11/expected.cctype
libcxx/test/libcxx/transitive_includes/cxx11/expected.cerrno
libcxx/test/libcxx/transitive_includes/cxx11/expected.cfenv
libcxx/test/libcxx/transitive_includes/cxx11/expected.cfloat
libcxx/test/libcxx/transitive_includes/cxx11/expected.charconv
libcxx/test/libcxx/transitive_includes/cxx11/expected.chrono
libcxx/test/libcxx/transitive_includes/cxx11/expected.cinttypes
libcxx/test/libcxx/transitive_includes/cxx11/expected.ciso646
libcxx/test/libcxx/transitive_includes/cxx11/expected.climits
libcxx/test/libcxx/transitive_includes/cxx11/expected.clocale
libcxx/test/libcxx/transitive_includes/cxx11/expected.cmath
libcxx/test/libcxx/transitive_includes/cxx11/expected.codecvt
libcxx/test/libcxx/transitive_includes/cxx11/expected.compare
libcxx/test/libcxx/transitive_includes/cxx11/expected.complex
libcxx/test/libcxx/transitive_includes/cxx11/expected.concepts
libcxx/test/libcxx/transitive_includes/cxx11/expected.condition_variable
libcxx/test/libcxx/transitive_includes/cxx11/expected.coroutine
libcxx/test/libcxx/transitive_includes/cxx11/expected.csetjmp
libcxx/test/libcxx/transitive_includes/cxx11/expected.csignal
libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdarg
libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdbool
libcxx/test/libcxx/transitive_includes/cxx11/expected.cstddef
libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdint
libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdio
libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdlib
libcxx/test/libcxx/transitive_includes/cxx11/expected.cstring
libcxx/test/libcxx/transitive_includes/cxx11/expected.ctgmath
libcxx/test/libcxx/transitive_includes/cxx11/expected.ctime
libcxx/test/libcxx/transitive_includes/cxx11/expected.cuchar
libcxx/test/libcxx/transitive_includes/cxx11/expected.cwchar
libcxx/test/libcxx/transitive_includes/cxx11/expected.cwctype
libcxx/test/libcxx/transitive_includes/cxx11/expected.deque
libcxx/test/libcxx/transitive_includes/cxx11/expected.exception
libcxx/test/libcxx/transitive_includes/cxx11/expected.execution
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_algorithm
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_coroutine
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_deque
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_forward_list
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_functional
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_iterator
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_list
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_map
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_memory_resource
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_propagate_const
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_regex
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_set
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_simd
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_string
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_type_traits
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_unordered_map
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_unordered_set
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_utility
libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_vector
libcxx/test/libcxx/transitive_includes/cxx11/expected.ext_hash_map
libcxx/test/libcxx/transitive_includes/cxx11/expected.ext_hash_set
libcxx/test/libcxx/transitive_includes/cxx11/expected.filesystem
libcxx/test/libcxx/transitive_includes/cxx11/expected.format
libcxx/test/libcxx/transitive_includes/cxx11/expected.forward_list
libcxx/test/libcxx/transitive_includes/cxx11/expected.fstream
libcxx/test/libcxx/transitive_includes/cxx11/expected.functional
libcxx/test/libcxx/transitive_includes/cxx11/expected.future
libcxx/test/libcxx/transitive_includes/cxx11/expected.initializer_list
libcxx/test/libcxx/transitive_includes/cxx11/expected.iomanip
libcxx/test/libcxx/transitive_includes/cxx11/expected.ios
libcxx/test/libcxx/transitive_includes/cxx11/expected.iosfwd
libcxx/test/libcxx/transitive_includes/cxx11/expected.iostream
libcxx/test/libcxx/transitive_includes/cxx11/expected.istream
libcxx/test/libcxx/transitive_includes/cxx11/expected.iterator
libcxx/test/libcxx/transitive_includes/cxx11/expected.latch
libcxx/test/libcxx/transitive_includes/cxx11/expected.limits
libcxx/test/libcxx/transitive_includes/cxx11/expected.list
libcxx/test/libcxx/transitive_includes/cxx11/expected.locale
libcxx/test/libcxx/transitive_includes/cxx11/expected.map
libcxx/test/libcxx/transitive_includes/cxx11/expected.memory
libcxx/test/libcxx/transitive_includes/cxx11/expected.mutex
libcxx/test/libcxx/transitive_includes/cxx11/expected.new
libcxx/test/libcxx/transitive_includes/cxx11/expected.numbers
libcxx/test/libcxx/transitive_includes/cxx11/expected.numeric
libcxx/test/libcxx/transitive_includes/cxx11/expected.optional
libcxx/test/libcxx/transitive_includes/cxx11/expected.ostream
libcxx/test/libcxx/transitive_includes/cxx11/expected.queue
libcxx/test/libcxx/transitive_includes/cxx11/expected.random
libcxx/test/libcxx/transitive_includes/cxx11/expected.ranges
libcxx/test/libcxx/transitive_includes/cxx11/expected.ratio
libcxx/test/libcxx/transitive_includes/cxx11/expected.regex
libcxx/test/libcxx/transitive_includes/cxx11/expected.scoped_allocator
libcxx/test/libcxx/transitive_includes/cxx11/expected.semaphore
libcxx/test/libcxx/transitive_includes/cxx11/expected.set
libcxx/test/libcxx/transitive_includes/cxx11/expected.shared_mutex
libcxx/test/libcxx/transitive_includes/cxx11/expected.span
libcxx/test/libcxx/transitive_includes/cxx11/expected.sstream
libcxx/test/libcxx/transitive_includes/cxx11/expected.stack
libcxx/test/libcxx/transitive_includes/cxx11/expected.stdexcept
libcxx/test/libcxx/transitive_includes/cxx11/expected.streambuf
libcxx/test/libcxx/transitive_includes/cxx11/expected.string
libcxx/test/libcxx/transitive_includes/cxx11/expected.string_view
libcxx/test/libcxx/transitive_includes/cxx11/expected.strstream
libcxx/test/libcxx/transitive_includes/cxx11/expected.system_error
libcxx/test/libcxx/transitive_includes/cxx11/expected.thread
libcxx/test/libcxx/transitive_includes/cxx11/expected.tuple
libcxx/test/libcxx/transitive_includes/cxx11/expected.type_traits
libcxx/test/libcxx/transitive_includes/cxx11/expected.typeindex
libcxx/test/libcxx/transitive_includes/cxx11/expected.typeinfo
libcxx/test/libcxx/transitive_includes/cxx11/expected.unordered_map
libcxx/test/libcxx/transitive_includes/cxx11/expected.unordered_set
libcxx/test/libcxx/transitive_includes/cxx11/expected.utility
libcxx/test/libcxx/transitive_includes/cxx11/expected.valarray
libcxx/test/libcxx/transitive_includes/cxx11/expected.variant
libcxx/test/libcxx/transitive_includes/cxx11/expected.vector
libcxx/test/libcxx/transitive_includes/cxx11/expected.version
libcxx/test/libcxx/transitive_includes/cxx14/expected.algorithm
libcxx/test/libcxx/transitive_includes/cxx14/expected.any
libcxx/test/libcxx/transitive_includes/cxx14/expected.array
libcxx/test/libcxx/transitive_includes/cxx14/expected.atomic
libcxx/test/libcxx/transitive_includes/cxx14/expected.barrier
libcxx/test/libcxx/transitive_includes/cxx14/expected.bit
libcxx/test/libcxx/transitive_includes/cxx14/expected.bitset
libcxx/test/libcxx/transitive_includes/cxx14/expected.cassert
libcxx/test/libcxx/transitive_includes/cxx14/expected.ccomplex
libcxx/test/libcxx/transitive_includes/cxx14/expected.cctype
libcxx/test/libcxx/transitive_includes/cxx14/expected.cerrno
libcxx/test/libcxx/transitive_includes/cxx14/expected.cfenv
libcxx/test/libcxx/transitive_includes/cxx14/expected.cfloat
libcxx/test/libcxx/transitive_includes/cxx14/expected.charconv
libcxx/test/libcxx/transitive_includes/cxx14/expected.chrono
libcxx/test/libcxx/transitive_includes/cxx14/expected.cinttypes
libcxx/test/libcxx/transitive_includes/cxx14/expected.ciso646
libcxx/test/libcxx/transitive_includes/cxx14/expected.climits
libcxx/test/libcxx/transitive_includes/cxx14/expected.clocale
libcxx/test/libcxx/transitive_includes/cxx14/expected.cmath
libcxx/test/libcxx/transitive_includes/cxx14/expected.codecvt
libcxx/test/libcxx/transitive_includes/cxx14/expected.compare
libcxx/test/libcxx/transitive_includes/cxx14/expected.complex
libcxx/test/libcxx/transitive_includes/cxx14/expected.concepts
libcxx/test/libcxx/transitive_includes/cxx14/expected.condition_variable
libcxx/test/libcxx/transitive_includes/cxx14/expected.coroutine
libcxx/test/libcxx/transitive_includes/cxx14/expected.csetjmp
libcxx/test/libcxx/transitive_includes/cxx14/expected.csignal
libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdarg
libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdbool
libcxx/test/libcxx/transitive_includes/cxx14/expected.cstddef
libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdint
libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdio
libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdlib
libcxx/test/libcxx/transitive_includes/cxx14/expected.cstring
libcxx/test/libcxx/transitive_includes/cxx14/expected.ctgmath
libcxx/test/libcxx/transitive_includes/cxx14/expected.ctime
libcxx/test/libcxx/transitive_includes/cxx14/expected.cuchar
libcxx/test/libcxx/transitive_includes/cxx14/expected.cwchar
libcxx/test/libcxx/transitive_includes/cxx14/expected.cwctype
libcxx/test/libcxx/transitive_includes/cxx14/expected.deque
libcxx/test/libcxx/transitive_includes/cxx14/expected.exception
libcxx/test/libcxx/transitive_includes/cxx14/expected.execution
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_algorithm
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_coroutine
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_deque
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_forward_list
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_functional
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_iterator
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_list
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_map
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_memory_resource
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_propagate_const
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_regex
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_set
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_simd
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_string
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_type_traits
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_unordered_map
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_unordered_set
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_utility
libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_vector
libcxx/test/libcxx/transitive_includes/cxx14/expected.ext_hash_map
libcxx/test/libcxx/transitive_includes/cxx14/expected.ext_hash_set
libcxx/test/libcxx/transitive_includes/cxx14/expected.filesystem
libcxx/test/libcxx/transitive_includes/cxx14/expected.format
libcxx/test/libcxx/transitive_includes/cxx14/expected.forward_list
libcxx/test/libcxx/transitive_includes/cxx14/expected.fstream
libcxx/test/libcxx/transitive_includes/cxx14/expected.functional
libcxx/test/libcxx/transitive_includes/cxx14/expected.future
libcxx/test/libcxx/transitive_includes/cxx14/expected.initializer_list
libcxx/test/libcxx/transitive_includes/cxx14/expected.iomanip
libcxx/test/libcxx/transitive_includes/cxx14/expected.ios
libcxx/test/libcxx/transitive_includes/cxx14/expected.iosfwd
libcxx/test/libcxx/transitive_includes/cxx14/expected.iostream
libcxx/test/libcxx/transitive_includes/cxx14/expected.istream
libcxx/test/libcxx/transitive_includes/cxx14/expected.iterator
libcxx/test/libcxx/transitive_includes/cxx14/expected.latch
libcxx/test/libcxx/transitive_includes/cxx14/expected.limits
libcxx/test/libcxx/transitive_includes/cxx14/expected.list
libcxx/test/libcxx/transitive_includes/cxx14/expected.locale
libcxx/test/libcxx/transitive_includes/cxx14/expected.map
libcxx/test/libcxx/transitive_includes/cxx14/expected.memory
libcxx/test/libcxx/transitive_includes/cxx14/expected.mutex
libcxx/test/libcxx/transitive_includes/cxx14/expected.new
libcxx/test/libcxx/transitive_includes/cxx14/expected.numbers
libcxx/test/libcxx/transitive_includes/cxx14/expected.numeric
libcxx/test/libcxx/transitive_includes/cxx14/expected.optional
libcxx/test/libcxx/transitive_includes/cxx14/expected.ostream
libcxx/test/libcxx/transitive_includes/cxx14/expected.queue
libcxx/test/libcxx/transitive_includes/cxx14/expected.random
libcxx/test/libcxx/transitive_includes/cxx14/expected.ranges
libcxx/test/libcxx/transitive_includes/cxx14/expected.ratio
libcxx/test/libcxx/transitive_includes/cxx14/expected.regex
libcxx/test/libcxx/transitive_includes/cxx14/expected.scoped_allocator
libcxx/test/libcxx/transitive_includes/cxx14/expected.semaphore
libcxx/test/libcxx/transitive_includes/cxx14/expected.set
libcxx/test/libcxx/transitive_includes/cxx14/expected.shared_mutex
libcxx/test/libcxx/transitive_includes/cxx14/expected.span
libcxx/test/libcxx/transitive_includes/cxx14/expected.sstream
libcxx/test/libcxx/transitive_includes/cxx14/expected.stack
libcxx/test/libcxx/transitive_includes/cxx14/expected.stdexcept
libcxx/test/libcxx/transitive_includes/cxx14/expected.streambuf
libcxx/test/libcxx/transitive_includes/cxx14/expected.string
libcxx/test/libcxx/transitive_includes/cxx14/expected.string_view
libcxx/test/libcxx/transitive_includes/cxx14/expected.strstream
libcxx/test/libcxx/transitive_includes/cxx14/expected.system_error
libcxx/test/libcxx/transitive_includes/cxx14/expected.thread
libcxx/test/libcxx/transitive_includes/cxx14/expected.tuple
libcxx/test/libcxx/transitive_includes/cxx14/expected.type_traits
libcxx/test/libcxx/transitive_includes/cxx14/expected.typeindex
libcxx/test/libcxx/transitive_includes/cxx14/expected.typeinfo
libcxx/test/libcxx/transitive_includes/cxx14/expected.unordered_map
libcxx/test/libcxx/transitive_includes/cxx14/expected.unordered_set
libcxx/test/libcxx/transitive_includes/cxx14/expected.utility
libcxx/test/libcxx/transitive_includes/cxx14/expected.valarray
libcxx/test/libcxx/transitive_includes/cxx14/expected.variant
libcxx/test/libcxx/transitive_includes/cxx14/expected.vector
libcxx/test/libcxx/transitive_includes/cxx14/expected.version
libcxx/test/libcxx/transitive_includes/cxx17/expected.algorithm
libcxx/test/libcxx/transitive_includes/cxx17/expected.any
libcxx/test/libcxx/transitive_includes/cxx17/expected.array
libcxx/test/libcxx/transitive_includes/cxx17/expected.atomic
libcxx/test/libcxx/transitive_includes/cxx17/expected.barrier
libcxx/test/libcxx/transitive_includes/cxx17/expected.bit
libcxx/test/libcxx/transitive_includes/cxx17/expected.bitset
libcxx/test/libcxx/transitive_includes/cxx17/expected.cassert
libcxx/test/libcxx/transitive_includes/cxx17/expected.ccomplex
libcxx/test/libcxx/transitive_includes/cxx17/expected.cctype
libcxx/test/libcxx/transitive_includes/cxx17/expected.cerrno
libcxx/test/libcxx/transitive_includes/cxx17/expected.cfenv
libcxx/test/libcxx/transitive_includes/cxx17/expected.cfloat
libcxx/test/libcxx/transitive_includes/cxx17/expected.charconv
libcxx/test/libcxx/transitive_includes/cxx17/expected.chrono
libcxx/test/libcxx/transitive_includes/cxx17/expected.cinttypes
libcxx/test/libcxx/transitive_includes/cxx17/expected.ciso646
libcxx/test/libcxx/transitive_includes/cxx17/expected.climits
libcxx/test/libcxx/transitive_includes/cxx17/expected.clocale
libcxx/test/libcxx/transitive_includes/cxx17/expected.cmath
libcxx/test/libcxx/transitive_includes/cxx17/expected.codecvt
libcxx/test/libcxx/transitive_includes/cxx17/expected.compare
libcxx/test/libcxx/transitive_includes/cxx17/expected.complex
libcxx/test/libcxx/transitive_includes/cxx17/expected.concepts
libcxx/test/libcxx/transitive_includes/cxx17/expected.condition_variable
libcxx/test/libcxx/transitive_includes/cxx17/expected.coroutine
libcxx/test/libcxx/transitive_includes/cxx17/expected.csetjmp
libcxx/test/libcxx/transitive_includes/cxx17/expected.csignal
libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdarg
libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdbool
libcxx/test/libcxx/transitive_includes/cxx17/expected.cstddef
libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdint
libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdio
libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdlib
libcxx/test/libcxx/transitive_includes/cxx17/expected.cstring
libcxx/test/libcxx/transitive_includes/cxx17/expected.ctgmath
libcxx/test/libcxx/transitive_includes/cxx17/expected.ctime
libcxx/test/libcxx/transitive_includes/cxx17/expected.cuchar
libcxx/test/libcxx/transitive_includes/cxx17/expected.cwchar
libcxx/test/libcxx/transitive_includes/cxx17/expected.cwctype
libcxx/test/libcxx/transitive_includes/cxx17/expected.deque
libcxx/test/libcxx/transitive_includes/cxx17/expected.exception
libcxx/test/libcxx/transitive_includes/cxx17/expected.execution
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_algorithm
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_coroutine
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_deque
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_forward_list
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_functional
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_iterator
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_list
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_map
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_memory_resource
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_propagate_const
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_regex
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_set
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_simd
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_string
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_type_traits
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_unordered_map
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_unordered_set
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_utility
libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_vector
libcxx/test/libcxx/transitive_includes/cxx17/expected.ext_hash_map
libcxx/test/libcxx/transitive_includes/cxx17/expected.ext_hash_set
libcxx/test/libcxx/transitive_includes/cxx17/expected.filesystem
libcxx/test/libcxx/transitive_includes/cxx17/expected.format
libcxx/test/libcxx/transitive_includes/cxx17/expected.forward_list
libcxx/test/libcxx/transitive_includes/cxx17/expected.fstream
libcxx/test/libcxx/transitive_includes/cxx17/expected.functional
libcxx/test/libcxx/transitive_includes/cxx17/expected.future
libcxx/test/libcxx/transitive_includes/cxx17/expected.initializer_list
libcxx/test/libcxx/transitive_includes/cxx17/expected.iomanip
libcxx/test/libcxx/transitive_includes/cxx17/expected.ios
libcxx/test/libcxx/transitive_includes/cxx17/expected.iosfwd
libcxx/test/libcxx/transitive_includes/cxx17/expected.iostream
libcxx/test/libcxx/transitive_includes/cxx17/expected.istream
libcxx/test/libcxx/transitive_includes/cxx17/expected.iterator
libcxx/test/libcxx/transitive_includes/cxx17/expected.latch
libcxx/test/libcxx/transitive_includes/cxx17/expected.limits
libcxx/test/libcxx/transitive_includes/cxx17/expected.list
libcxx/test/libcxx/transitive_includes/cxx17/expected.locale
libcxx/test/libcxx/transitive_includes/cxx17/expected.map
libcxx/test/libcxx/transitive_includes/cxx17/expected.memory
libcxx/test/libcxx/transitive_includes/cxx17/expected.mutex
libcxx/test/libcxx/transitive_includes/cxx17/expected.new
libcxx/test/libcxx/transitive_includes/cxx17/expected.numbers
libcxx/test/libcxx/transitive_includes/cxx17/expected.numeric
libcxx/test/libcxx/transitive_includes/cxx17/expected.optional
libcxx/test/libcxx/transitive_includes/cxx17/expected.ostream
libcxx/test/libcxx/transitive_includes/cxx17/expected.queue
libcxx/test/libcxx/transitive_includes/cxx17/expected.random
libcxx/test/libcxx/transitive_includes/cxx17/expected.ranges
libcxx/test/libcxx/transitive_includes/cxx17/expected.ratio
libcxx/test/libcxx/transitive_includes/cxx17/expected.regex
libcxx/test/libcxx/transitive_includes/cxx17/expected.scoped_allocator
libcxx/test/libcxx/transitive_includes/cxx17/expected.semaphore
libcxx/test/libcxx/transitive_includes/cxx17/expected.set
libcxx/test/libcxx/transitive_includes/cxx17/expected.shared_mutex
libcxx/test/libcxx/transitive_includes/cxx17/expected.span
libcxx/test/libcxx/transitive_includes/cxx17/expected.sstream
libcxx/test/libcxx/transitive_includes/cxx17/expected.stack
libcxx/test/libcxx/transitive_includes/cxx17/expected.stdexcept
libcxx/test/libcxx/transitive_includes/cxx17/expected.streambuf
libcxx/test/libcxx/transitive_includes/cxx17/expected.string
libcxx/test/libcxx/transitive_includes/cxx17/expected.string_view
libcxx/test/libcxx/transitive_includes/cxx17/expected.strstream
libcxx/test/libcxx/transitive_includes/cxx17/expected.system_error
libcxx/test/libcxx/transitive_includes/cxx17/expected.thread
libcxx/test/libcxx/transitive_includes/cxx17/expected.tuple
libcxx/test/libcxx/transitive_includes/cxx17/expected.type_traits
libcxx/test/libcxx/transitive_includes/cxx17/expected.typeindex
libcxx/test/libcxx/transitive_includes/cxx17/expected.typeinfo
libcxx/test/libcxx/transitive_includes/cxx17/expected.unordered_map
libcxx/test/libcxx/transitive_includes/cxx17/expected.unordered_set
libcxx/test/libcxx/transitive_includes/cxx17/expected.utility
libcxx/test/libcxx/transitive_includes/cxx17/expected.valarray
libcxx/test/libcxx/transitive_includes/cxx17/expected.variant
libcxx/test/libcxx/transitive_includes/cxx17/expected.vector
libcxx/test/libcxx/transitive_includes/cxx17/expected.version
libcxx/test/libcxx/transitive_includes/cxx20/expected.algorithm
libcxx/test/libcxx/transitive_includes/cxx20/expected.any
libcxx/test/libcxx/transitive_includes/cxx20/expected.array
libcxx/test/libcxx/transitive_includes/cxx20/expected.atomic
libcxx/test/libcxx/transitive_includes/cxx20/expected.barrier
libcxx/test/libcxx/transitive_includes/cxx20/expected.bit
libcxx/test/libcxx/transitive_includes/cxx20/expected.bitset
libcxx/test/libcxx/transitive_includes/cxx20/expected.cassert
libcxx/test/libcxx/transitive_includes/cxx20/expected.ccomplex
libcxx/test/libcxx/transitive_includes/cxx20/expected.cctype
libcxx/test/libcxx/transitive_includes/cxx20/expected.cerrno
libcxx/test/libcxx/transitive_includes/cxx20/expected.cfenv
libcxx/test/libcxx/transitive_includes/cxx20/expected.cfloat
libcxx/test/libcxx/transitive_includes/cxx20/expected.charconv
libcxx/test/libcxx/transitive_includes/cxx20/expected.chrono
libcxx/test/libcxx/transitive_includes/cxx20/expected.cinttypes
libcxx/test/libcxx/transitive_includes/cxx20/expected.ciso646
libcxx/test/libcxx/transitive_includes/cxx20/expected.climits
libcxx/test/libcxx/transitive_includes/cxx20/expected.clocale
libcxx/test/libcxx/transitive_includes/cxx20/expected.cmath
libcxx/test/libcxx/transitive_includes/cxx20/expected.codecvt
libcxx/test/libcxx/transitive_includes/cxx20/expected.compare
libcxx/test/libcxx/transitive_includes/cxx20/expected.complex
libcxx/test/libcxx/transitive_includes/cxx20/expected.concepts
libcxx/test/libcxx/transitive_includes/cxx20/expected.condition_variable
libcxx/test/libcxx/transitive_includes/cxx20/expected.coroutine
libcxx/test/libcxx/transitive_includes/cxx20/expected.csetjmp
libcxx/test/libcxx/transitive_includes/cxx20/expected.csignal
libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdarg
libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdbool
libcxx/test/libcxx/transitive_includes/cxx20/expected.cstddef
libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdint
libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdio
libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdlib
libcxx/test/libcxx/transitive_includes/cxx20/expected.cstring
libcxx/test/libcxx/transitive_includes/cxx20/expected.ctgmath
libcxx/test/libcxx/transitive_includes/cxx20/expected.ctime
libcxx/test/libcxx/transitive_includes/cxx20/expected.cuchar
libcxx/test/libcxx/transitive_includes/cxx20/expected.cwchar
libcxx/test/libcxx/transitive_includes/cxx20/expected.cwctype
libcxx/test/libcxx/transitive_includes/cxx20/expected.deque
libcxx/test/libcxx/transitive_includes/cxx20/expected.exception
libcxx/test/libcxx/transitive_includes/cxx20/expected.execution
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_algorithm
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_coroutine
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_deque
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_forward_list
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_functional
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_iterator
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_list
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_map
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_memory_resource
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_propagate_const
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_regex
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_set
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_simd
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_string
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_type_traits
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_unordered_map
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_unordered_set
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_utility
libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_vector
libcxx/test/libcxx/transitive_includes/cxx20/expected.ext_hash_map
libcxx/test/libcxx/transitive_includes/cxx20/expected.ext_hash_set
libcxx/test/libcxx/transitive_includes/cxx20/expected.filesystem
libcxx/test/libcxx/transitive_includes/cxx20/expected.format
libcxx/test/libcxx/transitive_includes/cxx20/expected.forward_list
libcxx/test/libcxx/transitive_includes/cxx20/expected.fstream
libcxx/test/libcxx/transitive_includes/cxx20/expected.functional
libcxx/test/libcxx/transitive_includes/cxx20/expected.future
libcxx/test/libcxx/transitive_includes/cxx20/expected.initializer_list
libcxx/test/libcxx/transitive_includes/cxx20/expected.iomanip
libcxx/test/libcxx/transitive_includes/cxx20/expected.ios
libcxx/test/libcxx/transitive_includes/cxx20/expected.iosfwd
libcxx/test/libcxx/transitive_includes/cxx20/expected.iostream
libcxx/test/libcxx/transitive_includes/cxx20/expected.istream
libcxx/test/libcxx/transitive_includes/cxx20/expected.iterator
libcxx/test/libcxx/transitive_includes/cxx20/expected.latch
libcxx/test/libcxx/transitive_includes/cxx20/expected.limits
libcxx/test/libcxx/transitive_includes/cxx20/expected.list
libcxx/test/libcxx/transitive_includes/cxx20/expected.locale
libcxx/test/libcxx/transitive_includes/cxx20/expected.map
libcxx/test/libcxx/transitive_includes/cxx20/expected.memory
libcxx/test/libcxx/transitive_includes/cxx20/expected.mutex
libcxx/test/libcxx/transitive_includes/cxx20/expected.new
libcxx/test/libcxx/transitive_includes/cxx20/expected.numbers
libcxx/test/libcxx/transitive_includes/cxx20/expected.numeric
libcxx/test/libcxx/transitive_includes/cxx20/expected.optional
libcxx/test/libcxx/transitive_includes/cxx20/expected.ostream
libcxx/test/libcxx/transitive_includes/cxx20/expected.queue
libcxx/test/libcxx/transitive_includes/cxx20/expected.random
libcxx/test/libcxx/transitive_includes/cxx20/expected.ranges
libcxx/test/libcxx/transitive_includes/cxx20/expected.ratio
libcxx/test/libcxx/transitive_includes/cxx20/expected.regex
libcxx/test/libcxx/transitive_includes/cxx20/expected.scoped_allocator
libcxx/test/libcxx/transitive_includes/cxx20/expected.semaphore
libcxx/test/libcxx/transitive_includes/cxx20/expected.set
libcxx/test/libcxx/transitive_includes/cxx20/expected.shared_mutex
libcxx/test/libcxx/transitive_includes/cxx20/expected.span
libcxx/test/libcxx/transitive_includes/cxx20/expected.sstream
libcxx/test/libcxx/transitive_includes/cxx20/expected.stack
libcxx/test/libcxx/transitive_includes/cxx20/expected.stdexcept
libcxx/test/libcxx/transitive_includes/cxx20/expected.streambuf
libcxx/test/libcxx/transitive_includes/cxx20/expected.string
libcxx/test/libcxx/transitive_includes/cxx20/expected.string_view
libcxx/test/libcxx/transitive_includes/cxx20/expected.strstream
libcxx/test/libcxx/transitive_includes/cxx20/expected.system_error
libcxx/test/libcxx/transitive_includes/cxx20/expected.thread
libcxx/test/libcxx/transitive_includes/cxx20/expected.tuple
libcxx/test/libcxx/transitive_includes/cxx20/expected.type_traits
libcxx/test/libcxx/transitive_includes/cxx20/expected.typeindex
libcxx/test/libcxx/transitive_includes/cxx20/expected.typeinfo
libcxx/test/libcxx/transitive_includes/cxx20/expected.unordered_map
libcxx/test/libcxx/transitive_includes/cxx20/expected.unordered_set
libcxx/test/libcxx/transitive_includes/cxx20/expected.utility
libcxx/test/libcxx/transitive_includes/cxx20/expected.valarray
libcxx/test/libcxx/transitive_includes/cxx20/expected.variant
libcxx/test/libcxx/transitive_includes/cxx20/expected.vector
libcxx/test/libcxx/transitive_includes/cxx20/expected.version
libcxx/test/libcxx/transitive_includes/cxx2b/expected.algorithm
libcxx/test/libcxx/transitive_includes/cxx2b/expected.any
libcxx/test/libcxx/transitive_includes/cxx2b/expected.array
libcxx/test/libcxx/transitive_includes/cxx2b/expected.atomic
libcxx/test/libcxx/transitive_includes/cxx2b/expected.barrier
libcxx/test/libcxx/transitive_includes/cxx2b/expected.bit
libcxx/test/libcxx/transitive_includes/cxx2b/expected.bitset
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cassert
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ccomplex
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cctype
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cerrno
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cfenv
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cfloat
libcxx/test/libcxx/transitive_includes/cxx2b/expected.charconv
libcxx/test/libcxx/transitive_includes/cxx2b/expected.chrono
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cinttypes
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ciso646
libcxx/test/libcxx/transitive_includes/cxx2b/expected.climits
libcxx/test/libcxx/transitive_includes/cxx2b/expected.clocale
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cmath
libcxx/test/libcxx/transitive_includes/cxx2b/expected.codecvt
libcxx/test/libcxx/transitive_includes/cxx2b/expected.compare
libcxx/test/libcxx/transitive_includes/cxx2b/expected.complex
libcxx/test/libcxx/transitive_includes/cxx2b/expected.concepts
libcxx/test/libcxx/transitive_includes/cxx2b/expected.condition_variable
libcxx/test/libcxx/transitive_includes/cxx2b/expected.coroutine
libcxx/test/libcxx/transitive_includes/cxx2b/expected.csetjmp
libcxx/test/libcxx/transitive_includes/cxx2b/expected.csignal
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdarg
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdbool
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstddef
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdint
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdio
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdlib
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstring
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ctgmath
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ctime
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cuchar
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cwchar
libcxx/test/libcxx/transitive_includes/cxx2b/expected.cwctype
libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque
libcxx/test/libcxx/transitive_includes/cxx2b/expected.exception
libcxx/test/libcxx/transitive_includes/cxx2b/expected.execution
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_algorithm
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_coroutine
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_deque
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_forward_list
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_functional
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_iterator
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_list
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_map
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_memory_resource
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_propagate_const
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_regex
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_set
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_simd
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_string
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_type_traits
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_unordered_map
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_unordered_set
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_utility
libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_vector
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ext_hash_map
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ext_hash_set
libcxx/test/libcxx/transitive_includes/cxx2b/expected.filesystem
libcxx/test/libcxx/transitive_includes/cxx2b/expected.format
libcxx/test/libcxx/transitive_includes/cxx2b/expected.forward_list
libcxx/test/libcxx/transitive_includes/cxx2b/expected.fstream
libcxx/test/libcxx/transitive_includes/cxx2b/expected.functional
libcxx/test/libcxx/transitive_includes/cxx2b/expected.future
libcxx/test/libcxx/transitive_includes/cxx2b/expected.initializer_list
libcxx/test/libcxx/transitive_includes/cxx2b/expected.iomanip
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ios
libcxx/test/libcxx/transitive_includes/cxx2b/expected.iosfwd
libcxx/test/libcxx/transitive_includes/cxx2b/expected.iostream
libcxx/test/libcxx/transitive_includes/cxx2b/expected.istream
libcxx/test/libcxx/transitive_includes/cxx2b/expected.iterator
libcxx/test/libcxx/transitive_includes/cxx2b/expected.latch
libcxx/test/libcxx/transitive_includes/cxx2b/expected.limits
libcxx/test/libcxx/transitive_includes/cxx2b/expected.list
libcxx/test/libcxx/transitive_includes/cxx2b/expected.locale
libcxx/test/libcxx/transitive_includes/cxx2b/expected.map
libcxx/test/libcxx/transitive_includes/cxx2b/expected.memory
libcxx/test/libcxx/transitive_includes/cxx2b/expected.mutex
libcxx/test/libcxx/transitive_includes/cxx2b/expected.new
libcxx/test/libcxx/transitive_includes/cxx2b/expected.numbers
libcxx/test/libcxx/transitive_includes/cxx2b/expected.numeric
libcxx/test/libcxx/transitive_includes/cxx2b/expected.optional
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ostream
libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue
libcxx/test/libcxx/transitive_includes/cxx2b/expected.random
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ranges
libcxx/test/libcxx/transitive_includes/cxx2b/expected.ratio
libcxx/test/libcxx/transitive_includes/cxx2b/expected.regex
libcxx/test/libcxx/transitive_includes/cxx2b/expected.scoped_allocator
libcxx/test/libcxx/transitive_includes/cxx2b/expected.semaphore
libcxx/test/libcxx/transitive_includes/cxx2b/expected.set
libcxx/test/libcxx/transitive_includes/cxx2b/expected.shared_mutex
libcxx/test/libcxx/transitive_includes/cxx2b/expected.span
libcxx/test/libcxx/transitive_includes/cxx2b/expected.sstream
libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack
libcxx/test/libcxx/transitive_includes/cxx2b/expected.stdexcept
libcxx/test/libcxx/transitive_includes/cxx2b/expected.streambuf
libcxx/test/libcxx/transitive_includes/cxx2b/expected.string
libcxx/test/libcxx/transitive_includes/cxx2b/expected.string_view
libcxx/test/libcxx/transitive_includes/cxx2b/expected.strstream
libcxx/test/libcxx/transitive_includes/cxx2b/expected.system_error
libcxx/test/libcxx/transitive_includes/cxx2b/expected.thread
libcxx/test/libcxx/transitive_includes/cxx2b/expected.tuple
libcxx/test/libcxx/transitive_includes/cxx2b/expected.type_traits
libcxx/test/libcxx/transitive_includes/cxx2b/expected.typeindex
libcxx/test/libcxx/transitive_includes/cxx2b/expected.typeinfo
libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_map
libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_set
libcxx/test/libcxx/transitive_includes/cxx2b/expected.utility
libcxx/test/libcxx/transitive_includes/cxx2b/expected.valarray
libcxx/test/libcxx/transitive_includes/cxx2b/expected.variant
libcxx/test/libcxx/transitive_includes/cxx2b/expected.vector
libcxx/test/libcxx/transitive_includes/cxx2b/expected.version
Modified:
libcxx/test/libcxx/transitive_includes.sh.cpp
libcxx/utils/libcxx/test/params.py
Removed:
libcxx/test/libcxx/transitive_includes/expected.algorithm
libcxx/test/libcxx/transitive_includes/expected.any
libcxx/test/libcxx/transitive_includes/expected.array
libcxx/test/libcxx/transitive_includes/expected.atomic
libcxx/test/libcxx/transitive_includes/expected.barrier
libcxx/test/libcxx/transitive_includes/expected.bit
libcxx/test/libcxx/transitive_includes/expected.bitset
libcxx/test/libcxx/transitive_includes/expected.cassert
libcxx/test/libcxx/transitive_includes/expected.ccomplex
libcxx/test/libcxx/transitive_includes/expected.cctype
libcxx/test/libcxx/transitive_includes/expected.cerrno
libcxx/test/libcxx/transitive_includes/expected.cfenv
libcxx/test/libcxx/transitive_includes/expected.cfloat
libcxx/test/libcxx/transitive_includes/expected.charconv
libcxx/test/libcxx/transitive_includes/expected.chrono
libcxx/test/libcxx/transitive_includes/expected.cinttypes
libcxx/test/libcxx/transitive_includes/expected.ciso646
libcxx/test/libcxx/transitive_includes/expected.climits
libcxx/test/libcxx/transitive_includes/expected.clocale
libcxx/test/libcxx/transitive_includes/expected.cmath
libcxx/test/libcxx/transitive_includes/expected.codecvt
libcxx/test/libcxx/transitive_includes/expected.compare
libcxx/test/libcxx/transitive_includes/expected.complex
libcxx/test/libcxx/transitive_includes/expected.concepts
libcxx/test/libcxx/transitive_includes/expected.condition_variable
libcxx/test/libcxx/transitive_includes/expected.coroutine
libcxx/test/libcxx/transitive_includes/expected.csetjmp
libcxx/test/libcxx/transitive_includes/expected.csignal
libcxx/test/libcxx/transitive_includes/expected.cstdarg
libcxx/test/libcxx/transitive_includes/expected.cstdbool
libcxx/test/libcxx/transitive_includes/expected.cstddef
libcxx/test/libcxx/transitive_includes/expected.cstdint
libcxx/test/libcxx/transitive_includes/expected.cstdio
libcxx/test/libcxx/transitive_includes/expected.cstdlib
libcxx/test/libcxx/transitive_includes/expected.cstring
libcxx/test/libcxx/transitive_includes/expected.ctgmath
libcxx/test/libcxx/transitive_includes/expected.ctime
libcxx/test/libcxx/transitive_includes/expected.cuchar
libcxx/test/libcxx/transitive_includes/expected.cwchar
libcxx/test/libcxx/transitive_includes/expected.cwctype
libcxx/test/libcxx/transitive_includes/expected.deque
libcxx/test/libcxx/transitive_includes/expected.exception
libcxx/test/libcxx/transitive_includes/expected.execution
libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
libcxx/test/libcxx/transitive_includes/expected.experimental_deque
libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
libcxx/test/libcxx/transitive_includes/expected.experimental_functional
libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
libcxx/test/libcxx/transitive_includes/expected.experimental_list
libcxx/test/libcxx/transitive_includes/expected.experimental_map
libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
libcxx/test/libcxx/transitive_includes/expected.experimental_regex
libcxx/test/libcxx/transitive_includes/expected.experimental_set
libcxx/test/libcxx/transitive_includes/expected.experimental_simd
libcxx/test/libcxx/transitive_includes/expected.experimental_string
libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits
libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
libcxx/test/libcxx/transitive_includes/expected.experimental_utility
libcxx/test/libcxx/transitive_includes/expected.experimental_vector
libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
libcxx/test/libcxx/transitive_includes/expected.filesystem
libcxx/test/libcxx/transitive_includes/expected.format
libcxx/test/libcxx/transitive_includes/expected.forward_list
libcxx/test/libcxx/transitive_includes/expected.fstream
libcxx/test/libcxx/transitive_includes/expected.functional
libcxx/test/libcxx/transitive_includes/expected.future
libcxx/test/libcxx/transitive_includes/expected.initializer_list
libcxx/test/libcxx/transitive_includes/expected.iomanip
libcxx/test/libcxx/transitive_includes/expected.ios
libcxx/test/libcxx/transitive_includes/expected.iosfwd
libcxx/test/libcxx/transitive_includes/expected.iostream
libcxx/test/libcxx/transitive_includes/expected.istream
libcxx/test/libcxx/transitive_includes/expected.iterator
libcxx/test/libcxx/transitive_includes/expected.latch
libcxx/test/libcxx/transitive_includes/expected.limits
libcxx/test/libcxx/transitive_includes/expected.list
libcxx/test/libcxx/transitive_includes/expected.locale
libcxx/test/libcxx/transitive_includes/expected.map
libcxx/test/libcxx/transitive_includes/expected.memory
libcxx/test/libcxx/transitive_includes/expected.mutex
libcxx/test/libcxx/transitive_includes/expected.new
libcxx/test/libcxx/transitive_includes/expected.numbers
libcxx/test/libcxx/transitive_includes/expected.numeric
libcxx/test/libcxx/transitive_includes/expected.optional
libcxx/test/libcxx/transitive_includes/expected.ostream
libcxx/test/libcxx/transitive_includes/expected.queue
libcxx/test/libcxx/transitive_includes/expected.random
libcxx/test/libcxx/transitive_includes/expected.ranges
libcxx/test/libcxx/transitive_includes/expected.ratio
libcxx/test/libcxx/transitive_includes/expected.regex
libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
libcxx/test/libcxx/transitive_includes/expected.semaphore
libcxx/test/libcxx/transitive_includes/expected.set
libcxx/test/libcxx/transitive_includes/expected.shared_mutex
libcxx/test/libcxx/transitive_includes/expected.span
libcxx/test/libcxx/transitive_includes/expected.sstream
libcxx/test/libcxx/transitive_includes/expected.stack
libcxx/test/libcxx/transitive_includes/expected.stdexcept
libcxx/test/libcxx/transitive_includes/expected.streambuf
libcxx/test/libcxx/transitive_includes/expected.string
libcxx/test/libcxx/transitive_includes/expected.string_view
libcxx/test/libcxx/transitive_includes/expected.strstream
libcxx/test/libcxx/transitive_includes/expected.system_error
libcxx/test/libcxx/transitive_includes/expected.thread
libcxx/test/libcxx/transitive_includes/expected.tuple
libcxx/test/libcxx/transitive_includes/expected.type_traits
libcxx/test/libcxx/transitive_includes/expected.typeindex
libcxx/test/libcxx/transitive_includes/expected.typeinfo
libcxx/test/libcxx/transitive_includes/expected.unordered_map
libcxx/test/libcxx/transitive_includes/expected.unordered_set
libcxx/test/libcxx/transitive_includes/expected.utility
libcxx/test/libcxx/transitive_includes/expected.valarray
libcxx/test/libcxx/transitive_includes/expected.variant
libcxx/test/libcxx/transitive_includes/expected.vector
libcxx/test/libcxx/transitive_includes/expected.version
################################################################################
diff --git a/libcxx/test/libcxx/transitive_includes.sh.cpp b/libcxx/test/libcxx/transitive_includes.sh.cpp
index 0475bf11ef8b9..3b3302874711c 100644
--- a/libcxx/test/libcxx/transitive_includes.sh.cpp
+++ b/libcxx/test/libcxx/transitive_includes.sh.cpp
@@ -20,9 +20,8 @@
// would need to add significant complexity to make that work.
// UNSUPPORTED: no-localization, no-threads, no-wide-characters, no-filesystem, libcpp-has-no-incomplete-format
-// This test only supports being run with the latest Standard, otherwise we'd
-// have to support various versions of the test.
-// UNSUPPORTED: c++03, c++11, c++14, c++17, c++20
+// TODO(mordante) FIX C++ 03, the issue is the experimental library doesn't work with C++03 but isn't guarded.
+// UNSUPPORTED: c++03
// When built with modules, this test doesn't work because --trace-includes doesn't
// report the stack of includes correctly.
@@ -51,14 +50,16 @@ import re
# To re-generate the list of expected headers, temporarily set this to True, re-generate
# the file and run this test.
+# Note that this needs to be done for all supported language versions of libc++:
+# for std in c++03 c++11 c++14 c++17 c++20 c++2b; do <build>/bin/llvm-lit --param std=$std ${path_to_this_file}; done
regenerate_expected_results = False
# Used because the sequence of tokens RUN : can't appear anywhere or it'll confuse Lit.
RUN = "RUN"
if regenerate_expected_results:
- print(f"// {RUN}: rm -rf %S/transitive_includes")
- print(f"// {RUN}: mkdir %S/transitive_includes")
+ print(f"// {RUN}: rm -rf %S/transitive_includes/%{{cxx_std}}")
+ print(f"// {RUN}: mkdir %S/transitive_includes/%{{cxx_std}}")
for i, header in enumerate(public_headers):
if header.endswith('.h'): # Skip C compatibility headers
@@ -66,14 +67,15 @@ for i, header in enumerate(public_headers):
normalized_header = re.sub('/', '_', header)
trace_includes = "%{{cxx}} %s %{{flags}} %{{compile_flags}} --trace-includes -fsyntax-only -DTEST_{} 2>&1".format(i)
+
if regenerate_expected_results:
- print(f"// {RUN}: {trace_includes} | %{{python}} %S/transitive_includes.sanitize.py > %S/transitive_includes/expected.{normalized_header}")
+ print(f"// {RUN}: {trace_includes} | %{{python}} %S/transitive_includes.sanitize.py > %S/transitive_includes/%{{cxx_std}}/expected.{normalized_header}")
else:
print(f"// {RUN}: {trace_includes} | %{{python}} %S/transitive_includes.sanitize.py > %t.actual.{normalized_header}")
- print(f"// {RUN}:
diff -w %S/transitive_includes/expected.{normalized_header} %t.actual.{normalized_header}")
+ print(f"// {RUN}:
diff -w %S/transitive_includes/%{{cxx_std}}/expected.{normalized_header} %t.actual.{normalized_header}")
- print("#if defined(TEST_{})".format(i))
- print("#include <{}>".format(header))
+ print(f"#if defined(TEST_{i})")
+ print(f"#include <{header}>")
print("#endif")
END-SCRIPT
@@ -82,597 +84,597 @@ END-SCRIPT
// DO NOT MANUALLY EDIT ANYTHING BETWEEN THE MARKERS BELOW
// GENERATED-MARKER
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_0 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.algorithm
-// RUN:
diff -w %S/transitive_includes/expected.algorithm %t.actual.algorithm
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.algorithm %t.actual.algorithm
#if defined(TEST_0)
#include <algorithm>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_1 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.any
-// RUN:
diff -w %S/transitive_includes/expected.any %t.actual.any
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.any %t.actual.any
#if defined(TEST_1)
#include <any>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_2 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.array
-// RUN:
diff -w %S/transitive_includes/expected.array %t.actual.array
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.array %t.actual.array
#if defined(TEST_2)
#include <array>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_3 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.atomic
-// RUN:
diff -w %S/transitive_includes/expected.atomic %t.actual.atomic
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.atomic %t.actual.atomic
#if defined(TEST_3)
#include <atomic>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_4 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.barrier
-// RUN:
diff -w %S/transitive_includes/expected.barrier %t.actual.barrier
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.barrier %t.actual.barrier
#if defined(TEST_4)
#include <barrier>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_5 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.bit
-// RUN:
diff -w %S/transitive_includes/expected.bit %t.actual.bit
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.bit %t.actual.bit
#if defined(TEST_5)
#include <bit>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_6 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.bitset
-// RUN:
diff -w %S/transitive_includes/expected.bitset %t.actual.bitset
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.bitset %t.actual.bitset
#if defined(TEST_6)
#include <bitset>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_7 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cassert
-// RUN:
diff -w %S/transitive_includes/expected.cassert %t.actual.cassert
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cassert %t.actual.cassert
#if defined(TEST_7)
#include <cassert>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_8 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ccomplex
-// RUN:
diff -w %S/transitive_includes/expected.ccomplex %t.actual.ccomplex
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ccomplex %t.actual.ccomplex
#if defined(TEST_8)
#include <ccomplex>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_9 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cctype
-// RUN:
diff -w %S/transitive_includes/expected.cctype %t.actual.cctype
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cctype %t.actual.cctype
#if defined(TEST_9)
#include <cctype>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_10 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cerrno
-// RUN:
diff -w %S/transitive_includes/expected.cerrno %t.actual.cerrno
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cerrno %t.actual.cerrno
#if defined(TEST_10)
#include <cerrno>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_11 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cfenv
-// RUN:
diff -w %S/transitive_includes/expected.cfenv %t.actual.cfenv
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cfenv %t.actual.cfenv
#if defined(TEST_11)
#include <cfenv>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_12 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cfloat
-// RUN:
diff -w %S/transitive_includes/expected.cfloat %t.actual.cfloat
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cfloat %t.actual.cfloat
#if defined(TEST_12)
#include <cfloat>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_13 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.charconv
-// RUN:
diff -w %S/transitive_includes/expected.charconv %t.actual.charconv
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.charconv %t.actual.charconv
#if defined(TEST_13)
#include <charconv>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_14 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.chrono
-// RUN:
diff -w %S/transitive_includes/expected.chrono %t.actual.chrono
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.chrono %t.actual.chrono
#if defined(TEST_14)
#include <chrono>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_15 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cinttypes
-// RUN:
diff -w %S/transitive_includes/expected.cinttypes %t.actual.cinttypes
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cinttypes %t.actual.cinttypes
#if defined(TEST_15)
#include <cinttypes>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_16 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ciso646
-// RUN:
diff -w %S/transitive_includes/expected.ciso646 %t.actual.ciso646
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ciso646 %t.actual.ciso646
#if defined(TEST_16)
#include <ciso646>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_17 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.climits
-// RUN:
diff -w %S/transitive_includes/expected.climits %t.actual.climits
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.climits %t.actual.climits
#if defined(TEST_17)
#include <climits>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_18 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.clocale
-// RUN:
diff -w %S/transitive_includes/expected.clocale %t.actual.clocale
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.clocale %t.actual.clocale
#if defined(TEST_18)
#include <clocale>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_19 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cmath
-// RUN:
diff -w %S/transitive_includes/expected.cmath %t.actual.cmath
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cmath %t.actual.cmath
#if defined(TEST_19)
#include <cmath>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_20 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.codecvt
-// RUN:
diff -w %S/transitive_includes/expected.codecvt %t.actual.codecvt
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.codecvt %t.actual.codecvt
#if defined(TEST_20)
#include <codecvt>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_21 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.compare
-// RUN:
diff -w %S/transitive_includes/expected.compare %t.actual.compare
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.compare %t.actual.compare
#if defined(TEST_21)
#include <compare>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_22 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.complex
-// RUN:
diff -w %S/transitive_includes/expected.complex %t.actual.complex
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.complex %t.actual.complex
#if defined(TEST_22)
#include <complex>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_24 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.concepts
-// RUN:
diff -w %S/transitive_includes/expected.concepts %t.actual.concepts
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.concepts %t.actual.concepts
#if defined(TEST_24)
#include <concepts>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_25 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.condition_variable
-// RUN:
diff -w %S/transitive_includes/expected.condition_variable %t.actual.condition_variable
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.condition_variable %t.actual.condition_variable
#if defined(TEST_25)
#include <condition_variable>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_26 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.coroutine
-// RUN:
diff -w %S/transitive_includes/expected.coroutine %t.actual.coroutine
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.coroutine %t.actual.coroutine
#if defined(TEST_26)
#include <coroutine>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_27 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.csetjmp
-// RUN:
diff -w %S/transitive_includes/expected.csetjmp %t.actual.csetjmp
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.csetjmp %t.actual.csetjmp
#if defined(TEST_27)
#include <csetjmp>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_28 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.csignal
-// RUN:
diff -w %S/transitive_includes/expected.csignal %t.actual.csignal
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.csignal %t.actual.csignal
#if defined(TEST_28)
#include <csignal>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_29 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdarg
-// RUN:
diff -w %S/transitive_includes/expected.cstdarg %t.actual.cstdarg
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cstdarg %t.actual.cstdarg
#if defined(TEST_29)
#include <cstdarg>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_30 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdbool
-// RUN:
diff -w %S/transitive_includes/expected.cstdbool %t.actual.cstdbool
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cstdbool %t.actual.cstdbool
#if defined(TEST_30)
#include <cstdbool>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_31 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstddef
-// RUN:
diff -w %S/transitive_includes/expected.cstddef %t.actual.cstddef
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cstddef %t.actual.cstddef
#if defined(TEST_31)
#include <cstddef>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_32 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdint
-// RUN:
diff -w %S/transitive_includes/expected.cstdint %t.actual.cstdint
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cstdint %t.actual.cstdint
#if defined(TEST_32)
#include <cstdint>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_33 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdio
-// RUN:
diff -w %S/transitive_includes/expected.cstdio %t.actual.cstdio
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cstdio %t.actual.cstdio
#if defined(TEST_33)
#include <cstdio>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_34 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstdlib
-// RUN:
diff -w %S/transitive_includes/expected.cstdlib %t.actual.cstdlib
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cstdlib %t.actual.cstdlib
#if defined(TEST_34)
#include <cstdlib>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_35 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cstring
-// RUN:
diff -w %S/transitive_includes/expected.cstring %t.actual.cstring
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cstring %t.actual.cstring
#if defined(TEST_35)
#include <cstring>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_36 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ctgmath
-// RUN:
diff -w %S/transitive_includes/expected.ctgmath %t.actual.ctgmath
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ctgmath %t.actual.ctgmath
#if defined(TEST_36)
#include <ctgmath>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_37 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ctime
-// RUN:
diff -w %S/transitive_includes/expected.ctime %t.actual.ctime
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ctime %t.actual.ctime
#if defined(TEST_37)
#include <ctime>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_39 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cuchar
-// RUN:
diff -w %S/transitive_includes/expected.cuchar %t.actual.cuchar
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cuchar %t.actual.cuchar
#if defined(TEST_39)
#include <cuchar>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_40 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cwchar
-// RUN:
diff -w %S/transitive_includes/expected.cwchar %t.actual.cwchar
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cwchar %t.actual.cwchar
#if defined(TEST_40)
#include <cwchar>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_41 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.cwctype
-// RUN:
diff -w %S/transitive_includes/expected.cwctype %t.actual.cwctype
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.cwctype %t.actual.cwctype
#if defined(TEST_41)
#include <cwctype>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_42 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.deque
-// RUN:
diff -w %S/transitive_includes/expected.deque %t.actual.deque
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.deque %t.actual.deque
#if defined(TEST_42)
#include <deque>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_44 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.exception
-// RUN:
diff -w %S/transitive_includes/expected.exception %t.actual.exception
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.exception %t.actual.exception
#if defined(TEST_44)
#include <exception>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_45 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.execution
-// RUN:
diff -w %S/transitive_includes/expected.execution %t.actual.execution
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.execution %t.actual.execution
#if defined(TEST_45)
#include <execution>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_47 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.filesystem
-// RUN:
diff -w %S/transitive_includes/expected.filesystem %t.actual.filesystem
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.filesystem %t.actual.filesystem
#if defined(TEST_47)
#include <filesystem>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_49 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.format
-// RUN:
diff -w %S/transitive_includes/expected.format %t.actual.format
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.format %t.actual.format
#if defined(TEST_49)
#include <format>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_50 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.forward_list
-// RUN:
diff -w %S/transitive_includes/expected.forward_list %t.actual.forward_list
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.forward_list %t.actual.forward_list
#if defined(TEST_50)
#include <forward_list>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_51 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.fstream
-// RUN:
diff -w %S/transitive_includes/expected.fstream %t.actual.fstream
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.fstream %t.actual.fstream
#if defined(TEST_51)
#include <fstream>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_52 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.functional
-// RUN:
diff -w %S/transitive_includes/expected.functional %t.actual.functional
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.functional %t.actual.functional
#if defined(TEST_52)
#include <functional>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_53 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.future
-// RUN:
diff -w %S/transitive_includes/expected.future %t.actual.future
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.future %t.actual.future
#if defined(TEST_53)
#include <future>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_54 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.initializer_list
-// RUN:
diff -w %S/transitive_includes/expected.initializer_list %t.actual.initializer_list
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.initializer_list %t.actual.initializer_list
#if defined(TEST_54)
#include <initializer_list>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_56 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iomanip
-// RUN:
diff -w %S/transitive_includes/expected.iomanip %t.actual.iomanip
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.iomanip %t.actual.iomanip
#if defined(TEST_56)
#include <iomanip>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_57 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ios
-// RUN:
diff -w %S/transitive_includes/expected.ios %t.actual.ios
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ios %t.actual.ios
#if defined(TEST_57)
#include <ios>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_58 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iosfwd
-// RUN:
diff -w %S/transitive_includes/expected.iosfwd %t.actual.iosfwd
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.iosfwd %t.actual.iosfwd
#if defined(TEST_58)
#include <iosfwd>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_59 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iostream
-// RUN:
diff -w %S/transitive_includes/expected.iostream %t.actual.iostream
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.iostream %t.actual.iostream
#if defined(TEST_59)
#include <iostream>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_60 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.istream
-// RUN:
diff -w %S/transitive_includes/expected.istream %t.actual.istream
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.istream %t.actual.istream
#if defined(TEST_60)
#include <istream>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_61 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.iterator
-// RUN:
diff -w %S/transitive_includes/expected.iterator %t.actual.iterator
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.iterator %t.actual.iterator
#if defined(TEST_61)
#include <iterator>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_62 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.latch
-// RUN:
diff -w %S/transitive_includes/expected.latch %t.actual.latch
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.latch %t.actual.latch
#if defined(TEST_62)
#include <latch>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_63 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.limits
-// RUN:
diff -w %S/transitive_includes/expected.limits %t.actual.limits
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.limits %t.actual.limits
#if defined(TEST_63)
#include <limits>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_65 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.list
-// RUN:
diff -w %S/transitive_includes/expected.list %t.actual.list
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.list %t.actual.list
#if defined(TEST_65)
#include <list>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_66 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.locale
-// RUN:
diff -w %S/transitive_includes/expected.locale %t.actual.locale
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.locale %t.actual.locale
#if defined(TEST_66)
#include <locale>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_68 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.map
-// RUN:
diff -w %S/transitive_includes/expected.map %t.actual.map
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.map %t.actual.map
#if defined(TEST_68)
#include <map>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_70 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.memory
-// RUN:
diff -w %S/transitive_includes/expected.memory %t.actual.memory
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.memory %t.actual.memory
#if defined(TEST_70)
#include <memory>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_71 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.mutex
-// RUN:
diff -w %S/transitive_includes/expected.mutex %t.actual.mutex
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.mutex %t.actual.mutex
#if defined(TEST_71)
#include <mutex>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_72 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.new
-// RUN:
diff -w %S/transitive_includes/expected.new %t.actual.new
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.new %t.actual.new
#if defined(TEST_72)
#include <new>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_73 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.numbers
-// RUN:
diff -w %S/transitive_includes/expected.numbers %t.actual.numbers
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.numbers %t.actual.numbers
#if defined(TEST_73)
#include <numbers>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_74 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.numeric
-// RUN:
diff -w %S/transitive_includes/expected.numeric %t.actual.numeric
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.numeric %t.actual.numeric
#if defined(TEST_74)
#include <numeric>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_75 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.optional
-// RUN:
diff -w %S/transitive_includes/expected.optional %t.actual.optional
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.optional %t.actual.optional
#if defined(TEST_75)
#include <optional>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_76 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ostream
-// RUN:
diff -w %S/transitive_includes/expected.ostream %t.actual.ostream
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ostream %t.actual.ostream
#if defined(TEST_76)
#include <ostream>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_77 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.queue
-// RUN:
diff -w %S/transitive_includes/expected.queue %t.actual.queue
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.queue %t.actual.queue
#if defined(TEST_77)
#include <queue>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_78 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.random
-// RUN:
diff -w %S/transitive_includes/expected.random %t.actual.random
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.random %t.actual.random
#if defined(TEST_78)
#include <random>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_79 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ranges
-// RUN:
diff -w %S/transitive_includes/expected.ranges %t.actual.ranges
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ranges %t.actual.ranges
#if defined(TEST_79)
#include <ranges>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_80 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ratio
-// RUN:
diff -w %S/transitive_includes/expected.ratio %t.actual.ratio
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ratio %t.actual.ratio
#if defined(TEST_80)
#include <ratio>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_81 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.regex
-// RUN:
diff -w %S/transitive_includes/expected.regex %t.actual.regex
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.regex %t.actual.regex
#if defined(TEST_81)
#include <regex>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_82 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.scoped_allocator
-// RUN:
diff -w %S/transitive_includes/expected.scoped_allocator %t.actual.scoped_allocator
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.scoped_allocator %t.actual.scoped_allocator
#if defined(TEST_82)
#include <scoped_allocator>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_83 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.semaphore
-// RUN:
diff -w %S/transitive_includes/expected.semaphore %t.actual.semaphore
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.semaphore %t.actual.semaphore
#if defined(TEST_83)
#include <semaphore>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_84 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.set
-// RUN:
diff -w %S/transitive_includes/expected.set %t.actual.set
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.set %t.actual.set
#if defined(TEST_84)
#include <set>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_86 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.shared_mutex
-// RUN:
diff -w %S/transitive_includes/expected.shared_mutex %t.actual.shared_mutex
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.shared_mutex %t.actual.shared_mutex
#if defined(TEST_86)
#include <shared_mutex>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_87 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.span
-// RUN:
diff -w %S/transitive_includes/expected.span %t.actual.span
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.span %t.actual.span
#if defined(TEST_87)
#include <span>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_88 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.sstream
-// RUN:
diff -w %S/transitive_includes/expected.sstream %t.actual.sstream
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.sstream %t.actual.sstream
#if defined(TEST_88)
#include <sstream>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_89 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.stack
-// RUN:
diff -w %S/transitive_includes/expected.stack %t.actual.stack
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.stack %t.actual.stack
#if defined(TEST_89)
#include <stack>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_93 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.stdexcept
-// RUN:
diff -w %S/transitive_includes/expected.stdexcept %t.actual.stdexcept
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.stdexcept %t.actual.stdexcept
#if defined(TEST_93)
#include <stdexcept>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_97 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.streambuf
-// RUN:
diff -w %S/transitive_includes/expected.streambuf %t.actual.streambuf
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.streambuf %t.actual.streambuf
#if defined(TEST_97)
#include <streambuf>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_98 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.string
-// RUN:
diff -w %S/transitive_includes/expected.string %t.actual.string
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.string %t.actual.string
#if defined(TEST_98)
#include <string>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_100 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.string_view
-// RUN:
diff -w %S/transitive_includes/expected.string_view %t.actual.string_view
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.string_view %t.actual.string_view
#if defined(TEST_100)
#include <string_view>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_101 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.strstream
-// RUN:
diff -w %S/transitive_includes/expected.strstream %t.actual.strstream
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.strstream %t.actual.strstream
#if defined(TEST_101)
#include <strstream>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_102 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.system_error
-// RUN:
diff -w %S/transitive_includes/expected.system_error %t.actual.system_error
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.system_error %t.actual.system_error
#if defined(TEST_102)
#include <system_error>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_104 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.thread
-// RUN:
diff -w %S/transitive_includes/expected.thread %t.actual.thread
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.thread %t.actual.thread
#if defined(TEST_104)
#include <thread>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_105 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.tuple
-// RUN:
diff -w %S/transitive_includes/expected.tuple %t.actual.tuple
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.tuple %t.actual.tuple
#if defined(TEST_105)
#include <tuple>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_106 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.type_traits
-// RUN:
diff -w %S/transitive_includes/expected.type_traits %t.actual.type_traits
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.type_traits %t.actual.type_traits
#if defined(TEST_106)
#include <type_traits>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_107 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.typeindex
-// RUN:
diff -w %S/transitive_includes/expected.typeindex %t.actual.typeindex
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.typeindex %t.actual.typeindex
#if defined(TEST_107)
#include <typeindex>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_108 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.typeinfo
-// RUN:
diff -w %S/transitive_includes/expected.typeinfo %t.actual.typeinfo
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.typeinfo %t.actual.typeinfo
#if defined(TEST_108)
#include <typeinfo>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_110 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.unordered_map
-// RUN:
diff -w %S/transitive_includes/expected.unordered_map %t.actual.unordered_map
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.unordered_map %t.actual.unordered_map
#if defined(TEST_110)
#include <unordered_map>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_111 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.unordered_set
-// RUN:
diff -w %S/transitive_includes/expected.unordered_set %t.actual.unordered_set
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.unordered_set %t.actual.unordered_set
#if defined(TEST_111)
#include <unordered_set>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_112 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.utility
-// RUN:
diff -w %S/transitive_includes/expected.utility %t.actual.utility
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.utility %t.actual.utility
#if defined(TEST_112)
#include <utility>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_113 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.valarray
-// RUN:
diff -w %S/transitive_includes/expected.valarray %t.actual.valarray
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.valarray %t.actual.valarray
#if defined(TEST_113)
#include <valarray>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_114 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.variant
-// RUN:
diff -w %S/transitive_includes/expected.variant %t.actual.variant
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.variant %t.actual.variant
#if defined(TEST_114)
#include <variant>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_115 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.vector
-// RUN:
diff -w %S/transitive_includes/expected.vector %t.actual.vector
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.vector %t.actual.vector
#if defined(TEST_115)
#include <vector>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_116 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.version
-// RUN:
diff -w %S/transitive_includes/expected.version %t.actual.version
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.version %t.actual.version
#if defined(TEST_116)
#include <version>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_119 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_algorithm
-// RUN:
diff -w %S/transitive_includes/expected.experimental_algorithm %t.actual.experimental_algorithm
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_algorithm %t.actual.experimental_algorithm
#if defined(TEST_119)
#include <experimental/algorithm>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_120 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_coroutine
-// RUN:
diff -w %S/transitive_includes/expected.experimental_coroutine %t.actual.experimental_coroutine
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_coroutine %t.actual.experimental_coroutine
#if defined(TEST_120)
#include <experimental/coroutine>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_121 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_deque
-// RUN:
diff -w %S/transitive_includes/expected.experimental_deque %t.actual.experimental_deque
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_deque %t.actual.experimental_deque
#if defined(TEST_121)
#include <experimental/deque>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_122 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_forward_list
-// RUN:
diff -w %S/transitive_includes/expected.experimental_forward_list %t.actual.experimental_forward_list
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_forward_list %t.actual.experimental_forward_list
#if defined(TEST_122)
#include <experimental/forward_list>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_123 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_functional
-// RUN:
diff -w %S/transitive_includes/expected.experimental_functional %t.actual.experimental_functional
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_functional %t.actual.experimental_functional
#if defined(TEST_123)
#include <experimental/functional>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_124 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_iterator
-// RUN:
diff -w %S/transitive_includes/expected.experimental_iterator %t.actual.experimental_iterator
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_iterator %t.actual.experimental_iterator
#if defined(TEST_124)
#include <experimental/iterator>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_125 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_list
-// RUN:
diff -w %S/transitive_includes/expected.experimental_list %t.actual.experimental_list
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_list %t.actual.experimental_list
#if defined(TEST_125)
#include <experimental/list>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_126 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_map
-// RUN:
diff -w %S/transitive_includes/expected.experimental_map %t.actual.experimental_map
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_map %t.actual.experimental_map
#if defined(TEST_126)
#include <experimental/map>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_127 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_memory_resource
-// RUN:
diff -w %S/transitive_includes/expected.experimental_memory_resource %t.actual.experimental_memory_resource
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_memory_resource %t.actual.experimental_memory_resource
#if defined(TEST_127)
#include <experimental/memory_resource>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_128 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_propagate_const
-// RUN:
diff -w %S/transitive_includes/expected.experimental_propagate_const %t.actual.experimental_propagate_const
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_propagate_const %t.actual.experimental_propagate_const
#if defined(TEST_128)
#include <experimental/propagate_const>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_129 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_regex
-// RUN:
diff -w %S/transitive_includes/expected.experimental_regex %t.actual.experimental_regex
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_regex %t.actual.experimental_regex
#if defined(TEST_129)
#include <experimental/regex>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_130 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_set
-// RUN:
diff -w %S/transitive_includes/expected.experimental_set %t.actual.experimental_set
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_set %t.actual.experimental_set
#if defined(TEST_130)
#include <experimental/set>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_131 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_simd
-// RUN:
diff -w %S/transitive_includes/expected.experimental_simd %t.actual.experimental_simd
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_simd %t.actual.experimental_simd
#if defined(TEST_131)
#include <experimental/simd>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_132 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_string
-// RUN:
diff -w %S/transitive_includes/expected.experimental_string %t.actual.experimental_string
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_string %t.actual.experimental_string
#if defined(TEST_132)
#include <experimental/string>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_133 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_type_traits
-// RUN:
diff -w %S/transitive_includes/expected.experimental_type_traits %t.actual.experimental_type_traits
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_type_traits %t.actual.experimental_type_traits
#if defined(TEST_133)
#include <experimental/type_traits>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_134 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_unordered_map
-// RUN:
diff -w %S/transitive_includes/expected.experimental_unordered_map %t.actual.experimental_unordered_map
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_unordered_map %t.actual.experimental_unordered_map
#if defined(TEST_134)
#include <experimental/unordered_map>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_135 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_unordered_set
-// RUN:
diff -w %S/transitive_includes/expected.experimental_unordered_set %t.actual.experimental_unordered_set
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_unordered_set %t.actual.experimental_unordered_set
#if defined(TEST_135)
#include <experimental/unordered_set>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_136 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_utility
-// RUN:
diff -w %S/transitive_includes/expected.experimental_utility %t.actual.experimental_utility
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_utility %t.actual.experimental_utility
#if defined(TEST_136)
#include <experimental/utility>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_137 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.experimental_vector
-// RUN:
diff -w %S/transitive_includes/expected.experimental_vector %t.actual.experimental_vector
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.experimental_vector %t.actual.experimental_vector
#if defined(TEST_137)
#include <experimental/vector>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_138 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ext_hash_map
-// RUN:
diff -w %S/transitive_includes/expected.ext_hash_map %t.actual.ext_hash_map
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ext_hash_map %t.actual.ext_hash_map
#if defined(TEST_138)
#include <ext/hash_map>
#endif
// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_139 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t.actual.ext_hash_set
-// RUN:
diff -w %S/transitive_includes/expected.ext_hash_set %t.actual.ext_hash_set
+// RUN:
diff -w %S/transitive_includes/%{cxx_std}/expected.ext_hash_set %t.actual.ext_hash_set
#if defined(TEST_139)
#include <ext/hash_set>
#endif
diff --git a/libcxx/test/libcxx/transitive_includes/expected.algorithm b/libcxx/test/libcxx/transitive_includes/cxx11/expected.algorithm
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.algorithm
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.algorithm
diff --git a/libcxx/test/libcxx/transitive_includes/expected.any b/libcxx/test/libcxx/transitive_includes/cxx11/expected.any
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.any
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.any
diff --git a/libcxx/test/libcxx/transitive_includes/expected.array b/libcxx/test/libcxx/transitive_includes/cxx11/expected.array
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.array
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.array
diff --git a/libcxx/test/libcxx/transitive_includes/expected.atomic b/libcxx/test/libcxx/transitive_includes/cxx11/expected.atomic
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.atomic
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.atomic
diff --git a/libcxx/test/libcxx/transitive_includes/expected.barrier b/libcxx/test/libcxx/transitive_includes/cxx11/expected.barrier
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.barrier
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.barrier
diff --git a/libcxx/test/libcxx/transitive_includes/expected.bit b/libcxx/test/libcxx/transitive_includes/cxx11/expected.bit
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.bit
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.bit
diff --git a/libcxx/test/libcxx/transitive_includes/expected.bitset b/libcxx/test/libcxx/transitive_includes/cxx11/expected.bitset
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.bitset
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.bitset
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cassert b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cassert
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cassert
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cassert
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ccomplex
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ccomplex
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ccomplex
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cctype b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cctype
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cctype
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cctype
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cerrno b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cerrno
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cerrno
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cerrno
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cfenv b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cfenv
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cfenv
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cfenv
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cfloat b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cfloat
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cfloat
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cfloat
diff --git a/libcxx/test/libcxx/transitive_includes/expected.charconv b/libcxx/test/libcxx/transitive_includes/cxx11/expected.charconv
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.charconv
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.charconv
diff --git a/libcxx/test/libcxx/transitive_includes/expected.chrono b/libcxx/test/libcxx/transitive_includes/cxx11/expected.chrono
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.chrono
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.chrono
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cinttypes b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cinttypes
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cinttypes
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cinttypes
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ciso646 b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ciso646
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ciso646
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ciso646
diff --git a/libcxx/test/libcxx/transitive_includes/expected.climits b/libcxx/test/libcxx/transitive_includes/cxx11/expected.climits
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.climits
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.climits
diff --git a/libcxx/test/libcxx/transitive_includes/expected.clocale b/libcxx/test/libcxx/transitive_includes/cxx11/expected.clocale
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.clocale
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.clocale
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cmath b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cmath
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cmath
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cmath
diff --git a/libcxx/test/libcxx/transitive_includes/expected.codecvt b/libcxx/test/libcxx/transitive_includes/cxx11/expected.codecvt
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.codecvt
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.codecvt
diff --git a/libcxx/test/libcxx/transitive_includes/expected.compare b/libcxx/test/libcxx/transitive_includes/cxx11/expected.compare
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.compare
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.compare
diff --git a/libcxx/test/libcxx/transitive_includes/expected.complex b/libcxx/test/libcxx/transitive_includes/cxx11/expected.complex
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.complex
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.complex
diff --git a/libcxx/test/libcxx/transitive_includes/expected.concepts b/libcxx/test/libcxx/transitive_includes/cxx11/expected.concepts
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.concepts
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.concepts
diff --git a/libcxx/test/libcxx/transitive_includes/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/cxx11/expected.condition_variable
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.condition_variable
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.condition_variable
diff --git a/libcxx/test/libcxx/transitive_includes/expected.coroutine b/libcxx/test/libcxx/transitive_includes/cxx11/expected.coroutine
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.coroutine
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.coroutine
diff --git a/libcxx/test/libcxx/transitive_includes/expected.csetjmp b/libcxx/test/libcxx/transitive_includes/cxx11/expected.csetjmp
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.csetjmp
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.csetjmp
diff --git a/libcxx/test/libcxx/transitive_includes/expected.csignal b/libcxx/test/libcxx/transitive_includes/cxx11/expected.csignal
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.csignal
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.csignal
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdarg b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdarg
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cstdarg
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdarg
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdbool b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdbool
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cstdbool
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdbool
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstddef b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cstddef
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cstddef
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cstddef
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdint b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdint
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cstdint
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdint
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdio b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdio
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cstdio
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdio
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstdlib b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdlib
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cstdlib
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cstdlib
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cstring b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cstring
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cstring
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cstring
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ctgmath
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ctgmath
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ctgmath
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ctime b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ctime
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ctime
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ctime
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cuchar b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cuchar
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cuchar
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cuchar
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cwchar b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cwchar
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cwchar
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cwchar
diff --git a/libcxx/test/libcxx/transitive_includes/expected.cwctype b/libcxx/test/libcxx/transitive_includes/cxx11/expected.cwctype
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.cwctype
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.cwctype
diff --git a/libcxx/test/libcxx/transitive_includes/expected.deque b/libcxx/test/libcxx/transitive_includes/cxx11/expected.deque
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.deque
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.deque
diff --git a/libcxx/test/libcxx/transitive_includes/expected.exception b/libcxx/test/libcxx/transitive_includes/cxx11/expected.exception
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.exception
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.exception
diff --git a/libcxx/test/libcxx/transitive_includes/expected.execution b/libcxx/test/libcxx/transitive_includes/cxx11/expected.execution
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.execution
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.execution
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_algorithm
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_algorithm
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_algorithm
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_coroutine
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_coroutine
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_coroutine
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_deque
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_deque
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_deque
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_forward_list
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_forward_list
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_forward_list
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_functional
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_functional
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_functional
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_iterator
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_iterator
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_iterator
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_list
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_list
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_list
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_map
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_map
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_map
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_memory_resource
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_memory_resource
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_memory_resource
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_propagate_const
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_propagate_const
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_propagate_const
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_regex
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_regex
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_regex
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_set
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_set
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_set
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_simd
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_simd
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_simd
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_string
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_string
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_string
diff --git a/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_type_traits b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_type_traits
new file mode 100644
index 0000000000000..1e6fdfeb25cfc
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_type_traits
@@ -0,0 +1 @@
+experimental/type_traits
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_unordered_map
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_map
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_unordered_map
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_unordered_set
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_unordered_set
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_unordered_set
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_utility
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_utility
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_utility
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_vector
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_vector
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.experimental_vector
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ext_hash_map
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ext_hash_map
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ext_hash_map
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ext_hash_set
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ext_hash_set
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ext_hash_set
diff --git a/libcxx/test/libcxx/transitive_includes/expected.filesystem b/libcxx/test/libcxx/transitive_includes/cxx11/expected.filesystem
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.filesystem
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.filesystem
diff --git a/libcxx/test/libcxx/transitive_includes/expected.format b/libcxx/test/libcxx/transitive_includes/cxx11/expected.format
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.format
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.format
diff --git a/libcxx/test/libcxx/transitive_includes/expected.forward_list b/libcxx/test/libcxx/transitive_includes/cxx11/expected.forward_list
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.forward_list
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.forward_list
diff --git a/libcxx/test/libcxx/transitive_includes/expected.fstream b/libcxx/test/libcxx/transitive_includes/cxx11/expected.fstream
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.fstream
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.fstream
diff --git a/libcxx/test/libcxx/transitive_includes/expected.functional b/libcxx/test/libcxx/transitive_includes/cxx11/expected.functional
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.functional
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.functional
diff --git a/libcxx/test/libcxx/transitive_includes/expected.future b/libcxx/test/libcxx/transitive_includes/cxx11/expected.future
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.future
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.future
diff --git a/libcxx/test/libcxx/transitive_includes/expected.initializer_list b/libcxx/test/libcxx/transitive_includes/cxx11/expected.initializer_list
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.initializer_list
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.initializer_list
diff --git a/libcxx/test/libcxx/transitive_includes/expected.iomanip b/libcxx/test/libcxx/transitive_includes/cxx11/expected.iomanip
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.iomanip
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.iomanip
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ios b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ios
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ios
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ios
diff --git a/libcxx/test/libcxx/transitive_includes/expected.iosfwd b/libcxx/test/libcxx/transitive_includes/cxx11/expected.iosfwd
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.iosfwd
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.iosfwd
diff --git a/libcxx/test/libcxx/transitive_includes/expected.iostream b/libcxx/test/libcxx/transitive_includes/cxx11/expected.iostream
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.iostream
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.iostream
diff --git a/libcxx/test/libcxx/transitive_includes/expected.istream b/libcxx/test/libcxx/transitive_includes/cxx11/expected.istream
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.istream
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.istream
diff --git a/libcxx/test/libcxx/transitive_includes/expected.iterator b/libcxx/test/libcxx/transitive_includes/cxx11/expected.iterator
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.iterator
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.iterator
diff --git a/libcxx/test/libcxx/transitive_includes/expected.latch b/libcxx/test/libcxx/transitive_includes/cxx11/expected.latch
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.latch
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.latch
diff --git a/libcxx/test/libcxx/transitive_includes/expected.limits b/libcxx/test/libcxx/transitive_includes/cxx11/expected.limits
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.limits
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.limits
diff --git a/libcxx/test/libcxx/transitive_includes/expected.list b/libcxx/test/libcxx/transitive_includes/cxx11/expected.list
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.list
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.list
diff --git a/libcxx/test/libcxx/transitive_includes/expected.locale b/libcxx/test/libcxx/transitive_includes/cxx11/expected.locale
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.locale
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.locale
diff --git a/libcxx/test/libcxx/transitive_includes/expected.map b/libcxx/test/libcxx/transitive_includes/cxx11/expected.map
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.map
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.map
diff --git a/libcxx/test/libcxx/transitive_includes/expected.memory b/libcxx/test/libcxx/transitive_includes/cxx11/expected.memory
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.memory
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.memory
diff --git a/libcxx/test/libcxx/transitive_includes/expected.mutex b/libcxx/test/libcxx/transitive_includes/cxx11/expected.mutex
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.mutex
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.mutex
diff --git a/libcxx/test/libcxx/transitive_includes/expected.new b/libcxx/test/libcxx/transitive_includes/cxx11/expected.new
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.new
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.new
diff --git a/libcxx/test/libcxx/transitive_includes/expected.numbers b/libcxx/test/libcxx/transitive_includes/cxx11/expected.numbers
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.numbers
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.numbers
diff --git a/libcxx/test/libcxx/transitive_includes/expected.numeric b/libcxx/test/libcxx/transitive_includes/cxx11/expected.numeric
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.numeric
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.numeric
diff --git a/libcxx/test/libcxx/transitive_includes/expected.optional b/libcxx/test/libcxx/transitive_includes/cxx11/expected.optional
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.optional
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.optional
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ostream b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ostream
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ostream
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ostream
diff --git a/libcxx/test/libcxx/transitive_includes/expected.queue b/libcxx/test/libcxx/transitive_includes/cxx11/expected.queue
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.queue
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.queue
diff --git a/libcxx/test/libcxx/transitive_includes/expected.random b/libcxx/test/libcxx/transitive_includes/cxx11/expected.random
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.random
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.random
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ranges b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ranges
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ranges
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ranges
diff --git a/libcxx/test/libcxx/transitive_includes/expected.ratio b/libcxx/test/libcxx/transitive_includes/cxx11/expected.ratio
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.ratio
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.ratio
diff --git a/libcxx/test/libcxx/transitive_includes/expected.regex b/libcxx/test/libcxx/transitive_includes/cxx11/expected.regex
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.regex
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.regex
diff --git a/libcxx/test/libcxx/transitive_includes/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/cxx11/expected.scoped_allocator
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.scoped_allocator
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.scoped_allocator
diff --git a/libcxx/test/libcxx/transitive_includes/expected.semaphore b/libcxx/test/libcxx/transitive_includes/cxx11/expected.semaphore
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.semaphore
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.semaphore
diff --git a/libcxx/test/libcxx/transitive_includes/expected.set b/libcxx/test/libcxx/transitive_includes/cxx11/expected.set
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.set
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.set
diff --git a/libcxx/test/libcxx/transitive_includes/cxx11/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/cxx11/expected.shared_mutex
new file mode 100644
index 0000000000000..81568d83b17c7
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx11/expected.shared_mutex
@@ -0,0 +1,2 @@
+shared_mutex
+version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.span b/libcxx/test/libcxx/transitive_includes/cxx11/expected.span
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.span
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.span
diff --git a/libcxx/test/libcxx/transitive_includes/expected.sstream b/libcxx/test/libcxx/transitive_includes/cxx11/expected.sstream
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.sstream
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.sstream
diff --git a/libcxx/test/libcxx/transitive_includes/expected.stack b/libcxx/test/libcxx/transitive_includes/cxx11/expected.stack
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.stack
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.stack
diff --git a/libcxx/test/libcxx/transitive_includes/expected.stdexcept b/libcxx/test/libcxx/transitive_includes/cxx11/expected.stdexcept
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.stdexcept
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.stdexcept
diff --git a/libcxx/test/libcxx/transitive_includes/expected.streambuf b/libcxx/test/libcxx/transitive_includes/cxx11/expected.streambuf
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.streambuf
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.streambuf
diff --git a/libcxx/test/libcxx/transitive_includes/expected.string b/libcxx/test/libcxx/transitive_includes/cxx11/expected.string
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.string
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.string
diff --git a/libcxx/test/libcxx/transitive_includes/expected.string_view b/libcxx/test/libcxx/transitive_includes/cxx11/expected.string_view
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.string_view
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.string_view
diff --git a/libcxx/test/libcxx/transitive_includes/expected.strstream b/libcxx/test/libcxx/transitive_includes/cxx11/expected.strstream
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.strstream
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.strstream
diff --git a/libcxx/test/libcxx/transitive_includes/expected.system_error b/libcxx/test/libcxx/transitive_includes/cxx11/expected.system_error
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.system_error
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.system_error
diff --git a/libcxx/test/libcxx/transitive_includes/expected.thread b/libcxx/test/libcxx/transitive_includes/cxx11/expected.thread
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.thread
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.thread
diff --git a/libcxx/test/libcxx/transitive_includes/expected.tuple b/libcxx/test/libcxx/transitive_includes/cxx11/expected.tuple
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.tuple
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.tuple
diff --git a/libcxx/test/libcxx/transitive_includes/expected.type_traits b/libcxx/test/libcxx/transitive_includes/cxx11/expected.type_traits
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.type_traits
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.type_traits
diff --git a/libcxx/test/libcxx/transitive_includes/expected.typeindex b/libcxx/test/libcxx/transitive_includes/cxx11/expected.typeindex
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.typeindex
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.typeindex
diff --git a/libcxx/test/libcxx/transitive_includes/expected.typeinfo b/libcxx/test/libcxx/transitive_includes/cxx11/expected.typeinfo
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.typeinfo
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.typeinfo
diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/cxx11/expected.unordered_map
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.unordered_map
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.unordered_map
diff --git a/libcxx/test/libcxx/transitive_includes/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/cxx11/expected.unordered_set
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.unordered_set
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.unordered_set
diff --git a/libcxx/test/libcxx/transitive_includes/expected.utility b/libcxx/test/libcxx/transitive_includes/cxx11/expected.utility
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.utility
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.utility
diff --git a/libcxx/test/libcxx/transitive_includes/expected.valarray b/libcxx/test/libcxx/transitive_includes/cxx11/expected.valarray
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.valarray
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.valarray
diff --git a/libcxx/test/libcxx/transitive_includes/expected.variant b/libcxx/test/libcxx/transitive_includes/cxx11/expected.variant
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.variant
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.variant
diff --git a/libcxx/test/libcxx/transitive_includes/expected.vector b/libcxx/test/libcxx/transitive_includes/cxx11/expected.vector
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.vector
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.vector
diff --git a/libcxx/test/libcxx/transitive_includes/expected.version b/libcxx/test/libcxx/transitive_includes/cxx11/expected.version
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.version
rename to libcxx/test/libcxx/transitive_includes/cxx11/expected.version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.algorithm b/libcxx/test/libcxx/transitive_includes/cxx14/expected.algorithm
new file mode 100644
index 0000000000000..944a3eeea2d64
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.algorithm
@@ -0,0 +1,28 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.any b/libcxx/test/libcxx/transitive_includes/cxx14/expected.any
new file mode 100644
index 0000000000000..86009188e53e3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.any
@@ -0,0 +1,27 @@
+any
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.array b/libcxx/test/libcxx/transitive_includes/cxx14/expected.array
new file mode 100644
index 0000000000000..7145642a8f46e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.array
@@ -0,0 +1,29 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.atomic b/libcxx/test/libcxx/transitive_includes/cxx14/expected.atomic
new file mode 100644
index 0000000000000..3e9917b3da1a0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.atomic
@@ -0,0 +1,14 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.barrier b/libcxx/test/libcxx/transitive_includes/cxx14/expected.barrier
new file mode 100644
index 0000000000000..c2865c8d3ef09
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.barrier
@@ -0,0 +1,27 @@
+atomic
+barrier
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.bit b/libcxx/test/libcxx/transitive_includes/cxx14/expected.bit
new file mode 100644
index 0000000000000..4fb5285f8142e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.bit
@@ -0,0 +1,8 @@
+bit
+cstddef
+cstdint
+cstdlib
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.bitset b/libcxx/test/libcxx/transitive_includes/cxx14/expected.bitset
new file mode 100644
index 0000000000000..3cf3e8dbdfc73
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.bitset
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cassert b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cassert
new file mode 100644
index 0000000000000..69b779ef2f206
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cassert
@@ -0,0 +1 @@
+cassert
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ccomplex
new file mode 100644
index 0000000000000..98bf9a8010e40
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ccomplex
@@ -0,0 +1,52 @@
+algorithm
+array
+atomic
+bit
+bitset
+ccomplex
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cctype b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cctype
new file mode 100644
index 0000000000000..a82e62c088dce
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cctype
@@ -0,0 +1 @@
+cctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cerrno b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cerrno
new file mode 100644
index 0000000000000..24c00a9877c3b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cerrno
@@ -0,0 +1 @@
+cerrno
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cfenv b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cfenv
new file mode 100644
index 0000000000000..9980586372456
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cfenv
@@ -0,0 +1 @@
+cfenv
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cfloat b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cfloat
new file mode 100644
index 0000000000000..3bb5aa14cfbfe
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cfloat
@@ -0,0 +1 @@
+cfloat
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.charconv b/libcxx/test/libcxx/transitive_includes/cxx14/expected.charconv
new file mode 100644
index 0000000000000..1ab0e5d37a401
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.charconv
@@ -0,0 +1,13 @@
+cerrno
+charconv
+cmath
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+initializer_list
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.chrono b/libcxx/test/libcxx/transitive_includes/cxx14/expected.chrono
new file mode 100644
index 0000000000000..fdb624bc1df42
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.chrono
@@ -0,0 +1,11 @@
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+ctime
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cinttypes b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cinttypes
new file mode 100644
index 0000000000000..911d5dd27d082
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cinttypes
@@ -0,0 +1,2 @@
+cinttypes
+cstdint
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.ciso646 b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ciso646
new file mode 100644
index 0000000000000..6c1d5458c9c9c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ciso646
@@ -0,0 +1 @@
+ciso646
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.climits b/libcxx/test/libcxx/transitive_includes/cxx14/expected.climits
new file mode 100644
index 0000000000000..271e000221016
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.climits
@@ -0,0 +1 @@
+climits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.clocale b/libcxx/test/libcxx/transitive_includes/cxx14/expected.clocale
new file mode 100644
index 0000000000000..0ac42c4b403ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.clocale
@@ -0,0 +1 @@
+clocale
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cmath b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cmath
new file mode 100644
index 0000000000000..7678c0e38802c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cmath
@@ -0,0 +1,6 @@
+cmath
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.codecvt b/libcxx/test/libcxx/transitive_includes/cxx14/expected.codecvt
new file mode 100644
index 0000000000000..0931ca137c0bd
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.codecvt
@@ -0,0 +1,43 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+codecvt
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.compare b/libcxx/test/libcxx/transitive_includes/cxx14/expected.compare
new file mode 100644
index 0000000000000..df2d92f5d4b6c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.compare
@@ -0,0 +1,7 @@
+cmath
+compare
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.complex b/libcxx/test/libcxx/transitive_includes/cxx14/expected.complex
new file mode 100644
index 0000000000000..64161c1d331fe
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.complex
@@ -0,0 +1,51 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.concepts b/libcxx/test/libcxx/transitive_includes/cxx14/expected.concepts
new file mode 100644
index 0000000000000..31e9f436e6cd3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.concepts
@@ -0,0 +1,5 @@
+concepts
+cstddef
+cstdint
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/cxx14/expected.condition_variable
new file mode 100644
index 0000000000000..968007a37cef8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.condition_variable
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+condition_variable
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.coroutine b/libcxx/test/libcxx/transitive_includes/cxx14/expected.coroutine
new file mode 100644
index 0000000000000..8dd332d472542
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.coroutine
@@ -0,0 +1,10 @@
+cmath
+compare
+coroutine
+cstddef
+cstdint
+cstring
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.csetjmp b/libcxx/test/libcxx/transitive_includes/cxx14/expected.csetjmp
new file mode 100644
index 0000000000000..2f72e67f0324d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.csetjmp
@@ -0,0 +1 @@
+csetjmp
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.csignal b/libcxx/test/libcxx/transitive_includes/cxx14/expected.csignal
new file mode 100644
index 0000000000000..c17f2a3b99dfb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.csignal
@@ -0,0 +1 @@
+csignal
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdarg b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdarg
new file mode 100644
index 0000000000000..ce71517eeb149
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdarg
@@ -0,0 +1 @@
+cstdarg
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdbool b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdbool
new file mode 100644
index 0000000000000..f3a52bba86c16
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdbool
@@ -0,0 +1 @@
+cstdbool
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstddef b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstddef
new file mode 100644
index 0000000000000..7b45506ea14b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstddef
@@ -0,0 +1,2 @@
+cstddef
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdint b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdint
new file mode 100644
index 0000000000000..37103a4f4b892
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdint
@@ -0,0 +1 @@
+cstdint
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdio b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdio
new file mode 100644
index 0000000000000..5b70aa3cf8d42
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdio
@@ -0,0 +1 @@
+cstdio
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdlib b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdlib
new file mode 100644
index 0000000000000..b98a7237dde79
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstdlib
@@ -0,0 +1 @@
+cstdlib
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstring b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstring
new file mode 100644
index 0000000000000..0fdbe597c9df1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cstring
@@ -0,0 +1 @@
+cstring
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ctgmath
new file mode 100644
index 0000000000000..7467a5ab59520
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ctgmath
@@ -0,0 +1,53 @@
+algorithm
+array
+atomic
+bit
+bitset
+ccomplex
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctgmath
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.ctime b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ctime
new file mode 100644
index 0000000000000..ee049c40b25b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ctime
@@ -0,0 +1 @@
+ctime
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cuchar b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cuchar
new file mode 100644
index 0000000000000..588664ab50b3f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cuchar
@@ -0,0 +1 @@
+cuchar
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cwchar b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cwchar
new file mode 100644
index 0000000000000..1e6c2091fa4a0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cwchar
@@ -0,0 +1,3 @@
+cctype
+cwchar
+cwctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.cwctype b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cwctype
new file mode 100644
index 0000000000000..fa1b7f2569941
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.cwctype
@@ -0,0 +1,2 @@
+cctype
+cwctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.deque b/libcxx/test/libcxx/transitive_includes/cxx14/expected.deque
new file mode 100644
index 0000000000000..c26bdc7479b64
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.deque
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx14/expected.exception b/libcxx/test/libcxx/transitive_includes/cxx14/expected.exception
new file mode 100644
index 0000000000000..c48f9ed9e744d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.exception
@@ -0,0 +1,6 @@
+cstddef
+cstdint
+cstdlib
+exception
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.execution b/libcxx/test/libcxx/transitive_includes/cxx14/expected.execution
new file mode 100644
index 0000000000000..b42e7095b5800
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.execution
@@ -0,0 +1,2 @@
+execution
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_algorithm
new file mode 100644
index 0000000000000..8a5cd7de65d88
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_algorithm
@@ -0,0 +1,29 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/algorithm
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_coroutine
new file mode 100644
index 0000000000000..682f0fa0e7a83
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_coroutine
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/coroutine
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_deque
new file mode 100644
index 0000000000000..bd86d1588beb1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_deque
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+deque
+exception
+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/cxx14/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_forward_list
new file mode 100644
index 0000000000000..c43fab08b41f3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_forward_list
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/forward_list
+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/cxx14/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_functional
new file mode 100644
index 0000000000000..87cee2d288827
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_functional
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/functional
+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/cxx14/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_iterator
new file mode 100644
index 0000000000000..14d31c215ffb7
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_iterator
@@ -0,0 +1,20 @@
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+experimental/iterator
+initializer_list
+iosfwd
+iterator
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_list
new file mode 100644
index 0000000000000..ac800654f5323
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_list
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+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/cxx14/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_map
new file mode 100644
index 0000000000000..d132098b01a1b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_map
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/map
+experimental/memory_resource
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+map
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_memory_resource
new file mode 100644
index 0000000000000..94d9abd26b6cb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_memory_resource
@@ -0,0 +1,28 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/utility
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_propagate_const b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_propagate_const
new file mode 100644
index 0000000000000..a78fa83bc983f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_propagate_const
@@ -0,0 +1,5 @@
+cstddef
+cstdint
+experimental/propagate_const
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_regex
new file mode 100644
index 0000000000000..8a49aac962c25
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_regex
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+deque
+exception
+experimental/memory_resource
+experimental/regex
+experimental/string
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+regex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_set
new file mode 100644
index 0000000000000..f1d2953360dc6
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_set
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/set
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+set
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_simd
new file mode 100644
index 0000000000000..f06f6e9cea012
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_simd
@@ -0,0 +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/cxx14/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_string
new file mode 100644
index 0000000000000..367a9ed7da4bb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_string
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+experimental/memory_resource
+experimental/string
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_type_traits
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.experimental_type_traits
rename to libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_type_traits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_unordered_map
new file mode 100644
index 0000000000000..16753ae30a7b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_unordered_map
@@ -0,0 +1,36 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/unordered_map
+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/cxx14/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_unordered_set
new file mode 100644
index 0000000000000..1aafa61386b74
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_unordered_set
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/unordered_set
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+unordered_set
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_utility
new file mode 100644
index 0000000000000..a399b3ebb27c6
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_utility
@@ -0,0 +1,12 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+experimental/utility
+initializer_list
+iosfwd
+limits
+type_traits
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_vector
new file mode 100644
index 0000000000000..1c569628be18e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.experimental_vector
@@ -0,0 +1,32 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/utility
+experimental/vector
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ext_hash_map
new file mode 100644
index 0000000000000..459536294e0c1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ext_hash_map
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+ext/hash_map
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ext_hash_set
new file mode 100644
index 0000000000000..160335aab3676
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ext_hash_set
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+ext/hash_set
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.filesystem b/libcxx/test/libcxx/transitive_includes/cxx14/expected.filesystem
new file mode 100644
index 0000000000000..22e80bc111922
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.filesystem
@@ -0,0 +1,51 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+filesystem
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.format b/libcxx/test/libcxx/transitive_includes/cxx14/expected.format
new file mode 100644
index 0000000000000..08d46d27a9c04
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.format
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+charconv
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+format
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.forward_list b/libcxx/test/libcxx/transitive_includes/cxx14/expected.forward_list
new file mode 100644
index 0000000000000..33afc74bd420a
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.forward_list
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx14/expected.fstream b/libcxx/test/libcxx/transitive_includes/cxx14/expected.fstream
new file mode 100644
index 0000000000000..7a892e11bfe61
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.fstream
@@ -0,0 +1,52 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+filesystem
+fstream
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.functional b/libcxx/test/libcxx/transitive_includes/cxx14/expected.functional
new file mode 100644
index 0000000000000..7625982373f82
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.functional
@@ -0,0 +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/cxx14/expected.future b/libcxx/test/libcxx/transitive_includes/cxx14/expected.future
new file mode 100644
index 0000000000000..92bd4e044ecc3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.future
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+future
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+thread
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.initializer_list b/libcxx/test/libcxx/transitive_includes/cxx14/expected.initializer_list
new file mode 100644
index 0000000000000..8b92a6553ca19
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.initializer_list
@@ -0,0 +1,3 @@
+cstddef
+initializer_list
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.iomanip b/libcxx/test/libcxx/transitive_includes/cxx14/expected.iomanip
new file mode 100644
index 0000000000000..39829086f4cb1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.iomanip
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.ios b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ios
new file mode 100644
index 0000000000000..6e7e5b2689767
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ios
@@ -0,0 +1,43 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.iosfwd b/libcxx/test/libcxx/transitive_includes/cxx14/expected.iosfwd
new file mode 100644
index 0000000000000..ff6e0e3d092b7
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.iosfwd
@@ -0,0 +1,2 @@
+iosfwd
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.iostream b/libcxx/test/libcxx/transitive_includes/cxx14/expected.iostream
new file mode 100644
index 0000000000000..580aeaf867341
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.iostream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iostream
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.istream b/libcxx/test/libcxx/transitive_includes/cxx14/expected.istream
new file mode 100644
index 0000000000000..fd0c4b4ca7361
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.istream
@@ -0,0 +1,49 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.iterator b/libcxx/test/libcxx/transitive_includes/cxx14/expected.iterator
new file mode 100644
index 0000000000000..447087a3f6f96
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.iterator
@@ -0,0 +1,19 @@
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+initializer_list
+iosfwd
+iterator
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.latch b/libcxx/test/libcxx/transitive_includes/cxx14/expected.latch
new file mode 100644
index 0000000000000..a7a6bbc912cef
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.latch
@@ -0,0 +1,15 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+latch
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.limits b/libcxx/test/libcxx/transitive_includes/cxx14/expected.limits
new file mode 100644
index 0000000000000..49fcbf44c5b21
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.limits
@@ -0,0 +1,5 @@
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.list b/libcxx/test/libcxx/transitive_includes/cxx14/expected.list
new file mode 100644
index 0000000000000..b596079c340b0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.list
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+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/cxx14/expected.locale b/libcxx/test/libcxx/transitive_includes/cxx14/expected.locale
new file mode 100644
index 0000000000000..29719367689e4
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.locale
@@ -0,0 +1,46 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.map b/libcxx/test/libcxx/transitive_includes/cxx14/expected.map
new file mode 100644
index 0000000000000..c871579ea35ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.map
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+map
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.memory b/libcxx/test/libcxx/transitive_includes/cxx14/expected.memory
new file mode 100644
index 0000000000000..f36910fde696d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.memory
@@ -0,0 +1,26 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.mutex b/libcxx/test/libcxx/transitive_includes/cxx14/expected.mutex
new file mode 100644
index 0000000000000..4d101cb290c16
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.mutex
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.new b/libcxx/test/libcxx/transitive_includes/cxx14/expected.new
new file mode 100644
index 0000000000000..9fd8f6aabd0c9
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.new
@@ -0,0 +1,7 @@
+cstddef
+cstdint
+cstdlib
+exception
+new
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.numbers b/libcxx/test/libcxx/transitive_includes/cxx14/expected.numbers
new file mode 100644
index 0000000000000..a8b65fc82096b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.numbers
@@ -0,0 +1,6 @@
+concepts
+cstddef
+cstdint
+numbers
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.numeric b/libcxx/test/libcxx/transitive_includes/cxx14/expected.numeric
new file mode 100644
index 0000000000000..558b32457eb4c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.numeric
@@ -0,0 +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/cxx14/expected.optional b/libcxx/test/libcxx/transitive_includes/cxx14/expected.optional
new file mode 100644
index 0000000000000..993ce23d8009d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.optional
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.ostream b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ostream
new file mode 100644
index 0000000000000..762d13c26ac3c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ostream
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.queue b/libcxx/test/libcxx/transitive_includes/cxx14/expected.queue
new file mode 100644
index 0000000000000..5861852fc5322
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.queue
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx14/expected.random b/libcxx/test/libcxx/transitive_includes/cxx14/expected.random
new file mode 100644
index 0000000000000..96a956ad800a1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.random
@@ -0,0 +1,41 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+numeric
+optional
+random
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.ranges b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ranges
new file mode 100644
index 0000000000000..3dbb13bb9680f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ranges
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+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/cxx14/expected.ratio b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ratio
new file mode 100644
index 0000000000000..deda945f1b575
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.ratio
@@ -0,0 +1,6 @@
+climits
+cstddef
+cstdint
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.regex b/libcxx/test/libcxx/transitive_includes/cxx14/expected.regex
new file mode 100644
index 0000000000000..76df207366621
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.regex
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+deque
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+regex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/cxx14/expected.scoped_allocator
new file mode 100644
index 0000000000000..22dcb319a5e67
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.scoped_allocator
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+scoped_allocator
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.semaphore b/libcxx/test/libcxx/transitive_includes/cxx14/expected.semaphore
new file mode 100644
index 0000000000000..d6802e25aa70d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.semaphore
@@ -0,0 +1,15 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+limits
+ratio
+semaphore
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.set b/libcxx/test/libcxx/transitive_includes/cxx14/expected.set
new file mode 100644
index 0000000000000..849e87331b725
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.set
@@ -0,0 +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
+set
+stdexcept
+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/cxx14/expected.shared_mutex
similarity index 100%
rename from libcxx/test/libcxx/transitive_includes/expected.shared_mutex
rename to libcxx/test/libcxx/transitive_includes/cxx14/expected.shared_mutex
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.span b/libcxx/test/libcxx/transitive_includes/cxx14/expected.span
new file mode 100644
index 0000000000000..a46c30df88516
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.span
@@ -0,0 +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/cxx14/expected.sstream b/libcxx/test/libcxx/transitive_includes/cxx14/expected.sstream
new file mode 100644
index 0000000000000..1724fbdde39ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.sstream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.stack b/libcxx/test/libcxx/transitive_includes/cxx14/expected.stack
new file mode 100644
index 0000000000000..1a7d18cb85f24
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.stack
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx14/expected.stdexcept b/libcxx/test/libcxx/transitive_includes/cxx14/expected.stdexcept
new file mode 100644
index 0000000000000..b8dd684ffcbbf
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.stdexcept
@@ -0,0 +1,8 @@
+cstddef
+cstdint
+cstdlib
+exception
+iosfwd
+stdexcept
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.streambuf b/libcxx/test/libcxx/transitive_includes/cxx14/expected.streambuf
new file mode 100644
index 0000000000000..a3001ce44a1bb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.streambuf
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.string b/libcxx/test/libcxx/transitive_includes/cxx14/expected.string
new file mode 100644
index 0000000000000..0dacf739a7859
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.string
@@ -0,0 +1,39 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.string_view b/libcxx/test/libcxx/transitive_includes/cxx14/expected.string_view
new file mode 100644
index 0000000000000..e814351725ef2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.string_view
@@ -0,0 +1,38 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+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/cxx14/expected.strstream b/libcxx/test/libcxx/transitive_includes/cxx14/expected.strstream
new file mode 100644
index 0000000000000..782153b595b63
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.strstream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+strstream
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.system_error b/libcxx/test/libcxx/transitive_includes/cxx14/expected.system_error
new file mode 100644
index 0000000000000..4101ee5209a39
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.system_error
@@ -0,0 +1,41 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.thread b/libcxx/test/libcxx/transitive_includes/cxx14/expected.thread
new file mode 100644
index 0000000000000..ab8c3c7c85ba2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.thread
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+thread
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.tuple b/libcxx/test/libcxx/transitive_includes/cxx14/expected.tuple
new file mode 100644
index 0000000000000..69858dc888c3b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.tuple
@@ -0,0 +1,15 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+exception
+initializer_list
+iosfwd
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.type_traits b/libcxx/test/libcxx/transitive_includes/cxx14/expected.type_traits
new file mode 100644
index 0000000000000..8448275a1728c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.type_traits
@@ -0,0 +1,4 @@
+cstddef
+cstdint
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.typeindex b/libcxx/test/libcxx/transitive_includes/cxx14/expected.typeindex
new file mode 100644
index 0000000000000..8f1c652535378
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.typeindex
@@ -0,0 +1,15 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+exception
+initializer_list
+iosfwd
+limits
+new
+type_traits
+typeindex
+typeinfo
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.typeinfo b/libcxx/test/libcxx/transitive_includes/cxx14/expected.typeinfo
new file mode 100644
index 0000000000000..609a604805c9b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.typeinfo
@@ -0,0 +1,7 @@
+cstddef
+cstdint
+cstdlib
+exception
+type_traits
+typeinfo
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/cxx14/expected.unordered_map
new file mode 100644
index 0000000000000..2250cf96690a3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.unordered_map
@@ -0,0 +1,30 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/cxx14/expected.unordered_set
new file mode 100644
index 0000000000000..9352f0b05b721
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.unordered_set
@@ -0,0 +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
+unordered_set
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.utility b/libcxx/test/libcxx/transitive_includes/cxx14/expected.utility
new file mode 100644
index 0000000000000..799a14724cf41
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.utility
@@ -0,0 +1,11 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+initializer_list
+iosfwd
+limits
+type_traits
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.valarray b/libcxx/test/libcxx/transitive_includes/cxx14/expected.valarray
new file mode 100644
index 0000000000000..a069f37119fa8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.valarray
@@ -0,0 +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/cxx14/expected.variant b/libcxx/test/libcxx/transitive_includes/cxx14/expected.variant
new file mode 100644
index 0000000000000..d94d72974cb84
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.variant
@@ -0,0 +1,17 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+initializer_list
+iosfwd
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.vector b/libcxx/test/libcxx/transitive_includes/cxx14/expected.vector
new file mode 100644
index 0000000000000..5fb9d7d19cc12
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.vector
@@ -0,0 +1,29 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx14/expected.version b/libcxx/test/libcxx/transitive_includes/cxx14/expected.version
new file mode 100644
index 0000000000000..088eda41aa61d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx14/expected.version
@@ -0,0 +1 @@
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.algorithm b/libcxx/test/libcxx/transitive_includes/cxx17/expected.algorithm
new file mode 100644
index 0000000000000..944a3eeea2d64
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.algorithm
@@ -0,0 +1,28 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.any b/libcxx/test/libcxx/transitive_includes/cxx17/expected.any
new file mode 100644
index 0000000000000..86009188e53e3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.any
@@ -0,0 +1,27 @@
+any
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.array b/libcxx/test/libcxx/transitive_includes/cxx17/expected.array
new file mode 100644
index 0000000000000..7145642a8f46e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.array
@@ -0,0 +1,29 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.atomic b/libcxx/test/libcxx/transitive_includes/cxx17/expected.atomic
new file mode 100644
index 0000000000000..3e9917b3da1a0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.atomic
@@ -0,0 +1,14 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.barrier b/libcxx/test/libcxx/transitive_includes/cxx17/expected.barrier
new file mode 100644
index 0000000000000..c2865c8d3ef09
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.barrier
@@ -0,0 +1,27 @@
+atomic
+barrier
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.bit b/libcxx/test/libcxx/transitive_includes/cxx17/expected.bit
new file mode 100644
index 0000000000000..4fb5285f8142e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.bit
@@ -0,0 +1,8 @@
+bit
+cstddef
+cstdint
+cstdlib
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.bitset b/libcxx/test/libcxx/transitive_includes/cxx17/expected.bitset
new file mode 100644
index 0000000000000..3cf3e8dbdfc73
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.bitset
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cassert b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cassert
new file mode 100644
index 0000000000000..69b779ef2f206
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cassert
@@ -0,0 +1 @@
+cassert
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ccomplex
new file mode 100644
index 0000000000000..98bf9a8010e40
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ccomplex
@@ -0,0 +1,52 @@
+algorithm
+array
+atomic
+bit
+bitset
+ccomplex
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cctype b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cctype
new file mode 100644
index 0000000000000..a82e62c088dce
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cctype
@@ -0,0 +1 @@
+cctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cerrno b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cerrno
new file mode 100644
index 0000000000000..24c00a9877c3b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cerrno
@@ -0,0 +1 @@
+cerrno
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cfenv b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cfenv
new file mode 100644
index 0000000000000..9980586372456
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cfenv
@@ -0,0 +1 @@
+cfenv
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cfloat b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cfloat
new file mode 100644
index 0000000000000..3bb5aa14cfbfe
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cfloat
@@ -0,0 +1 @@
+cfloat
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.charconv b/libcxx/test/libcxx/transitive_includes/cxx17/expected.charconv
new file mode 100644
index 0000000000000..1ab0e5d37a401
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.charconv
@@ -0,0 +1,13 @@
+cerrno
+charconv
+cmath
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+initializer_list
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.chrono b/libcxx/test/libcxx/transitive_includes/cxx17/expected.chrono
new file mode 100644
index 0000000000000..fdb624bc1df42
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.chrono
@@ -0,0 +1,11 @@
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+ctime
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cinttypes b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cinttypes
new file mode 100644
index 0000000000000..911d5dd27d082
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cinttypes
@@ -0,0 +1,2 @@
+cinttypes
+cstdint
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.ciso646 b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ciso646
new file mode 100644
index 0000000000000..6c1d5458c9c9c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ciso646
@@ -0,0 +1 @@
+ciso646
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.climits b/libcxx/test/libcxx/transitive_includes/cxx17/expected.climits
new file mode 100644
index 0000000000000..271e000221016
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.climits
@@ -0,0 +1 @@
+climits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.clocale b/libcxx/test/libcxx/transitive_includes/cxx17/expected.clocale
new file mode 100644
index 0000000000000..0ac42c4b403ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.clocale
@@ -0,0 +1 @@
+clocale
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cmath b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cmath
new file mode 100644
index 0000000000000..7678c0e38802c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cmath
@@ -0,0 +1,6 @@
+cmath
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.codecvt b/libcxx/test/libcxx/transitive_includes/cxx17/expected.codecvt
new file mode 100644
index 0000000000000..0931ca137c0bd
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.codecvt
@@ -0,0 +1,43 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+codecvt
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.compare b/libcxx/test/libcxx/transitive_includes/cxx17/expected.compare
new file mode 100644
index 0000000000000..df2d92f5d4b6c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.compare
@@ -0,0 +1,7 @@
+cmath
+compare
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.complex b/libcxx/test/libcxx/transitive_includes/cxx17/expected.complex
new file mode 100644
index 0000000000000..64161c1d331fe
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.complex
@@ -0,0 +1,51 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.concepts b/libcxx/test/libcxx/transitive_includes/cxx17/expected.concepts
new file mode 100644
index 0000000000000..31e9f436e6cd3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.concepts
@@ -0,0 +1,5 @@
+concepts
+cstddef
+cstdint
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/cxx17/expected.condition_variable
new file mode 100644
index 0000000000000..968007a37cef8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.condition_variable
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+condition_variable
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.coroutine b/libcxx/test/libcxx/transitive_includes/cxx17/expected.coroutine
new file mode 100644
index 0000000000000..8dd332d472542
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.coroutine
@@ -0,0 +1,10 @@
+cmath
+compare
+coroutine
+cstddef
+cstdint
+cstring
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.csetjmp b/libcxx/test/libcxx/transitive_includes/cxx17/expected.csetjmp
new file mode 100644
index 0000000000000..2f72e67f0324d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.csetjmp
@@ -0,0 +1 @@
+csetjmp
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.csignal b/libcxx/test/libcxx/transitive_includes/cxx17/expected.csignal
new file mode 100644
index 0000000000000..c17f2a3b99dfb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.csignal
@@ -0,0 +1 @@
+csignal
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdarg b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdarg
new file mode 100644
index 0000000000000..ce71517eeb149
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdarg
@@ -0,0 +1 @@
+cstdarg
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdbool b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdbool
new file mode 100644
index 0000000000000..f3a52bba86c16
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdbool
@@ -0,0 +1 @@
+cstdbool
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstddef b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstddef
new file mode 100644
index 0000000000000..7b45506ea14b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstddef
@@ -0,0 +1,2 @@
+cstddef
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdint b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdint
new file mode 100644
index 0000000000000..37103a4f4b892
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdint
@@ -0,0 +1 @@
+cstdint
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdio b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdio
new file mode 100644
index 0000000000000..5b70aa3cf8d42
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdio
@@ -0,0 +1 @@
+cstdio
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdlib b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdlib
new file mode 100644
index 0000000000000..b98a7237dde79
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstdlib
@@ -0,0 +1 @@
+cstdlib
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstring b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstring
new file mode 100644
index 0000000000000..0fdbe597c9df1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cstring
@@ -0,0 +1 @@
+cstring
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ctgmath
new file mode 100644
index 0000000000000..7467a5ab59520
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ctgmath
@@ -0,0 +1,53 @@
+algorithm
+array
+atomic
+bit
+bitset
+ccomplex
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctgmath
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.ctime b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ctime
new file mode 100644
index 0000000000000..ee049c40b25b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ctime
@@ -0,0 +1 @@
+ctime
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cuchar b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cuchar
new file mode 100644
index 0000000000000..588664ab50b3f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cuchar
@@ -0,0 +1 @@
+cuchar
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cwchar b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cwchar
new file mode 100644
index 0000000000000..1e6c2091fa4a0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cwchar
@@ -0,0 +1,3 @@
+cctype
+cwchar
+cwctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.cwctype b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cwctype
new file mode 100644
index 0000000000000..fa1b7f2569941
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.cwctype
@@ -0,0 +1,2 @@
+cctype
+cwctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.deque b/libcxx/test/libcxx/transitive_includes/cxx17/expected.deque
new file mode 100644
index 0000000000000..c26bdc7479b64
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.deque
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx17/expected.exception b/libcxx/test/libcxx/transitive_includes/cxx17/expected.exception
new file mode 100644
index 0000000000000..c48f9ed9e744d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.exception
@@ -0,0 +1,6 @@
+cstddef
+cstdint
+cstdlib
+exception
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.execution b/libcxx/test/libcxx/transitive_includes/cxx17/expected.execution
new file mode 100644
index 0000000000000..b42e7095b5800
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.execution
@@ -0,0 +1,2 @@
+execution
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_algorithm
new file mode 100644
index 0000000000000..8a5cd7de65d88
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_algorithm
@@ -0,0 +1,29 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/algorithm
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_coroutine
new file mode 100644
index 0000000000000..682f0fa0e7a83
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_coroutine
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/coroutine
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_deque
new file mode 100644
index 0000000000000..bd86d1588beb1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_deque
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+deque
+exception
+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/cxx17/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_forward_list
new file mode 100644
index 0000000000000..c43fab08b41f3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_forward_list
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/forward_list
+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/cxx17/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_functional
new file mode 100644
index 0000000000000..87cee2d288827
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_functional
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/functional
+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/cxx17/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_iterator
new file mode 100644
index 0000000000000..14d31c215ffb7
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_iterator
@@ -0,0 +1,20 @@
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+experimental/iterator
+initializer_list
+iosfwd
+iterator
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_list
new file mode 100644
index 0000000000000..ac800654f5323
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_list
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+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/cxx17/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_map
new file mode 100644
index 0000000000000..d132098b01a1b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_map
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/map
+experimental/memory_resource
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+map
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_memory_resource
new file mode 100644
index 0000000000000..94d9abd26b6cb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_memory_resource
@@ -0,0 +1,28 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/utility
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_propagate_const b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_propagate_const
new file mode 100644
index 0000000000000..a78fa83bc983f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_propagate_const
@@ -0,0 +1,5 @@
+cstddef
+cstdint
+experimental/propagate_const
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_regex
new file mode 100644
index 0000000000000..8a49aac962c25
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_regex
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+deque
+exception
+experimental/memory_resource
+experimental/regex
+experimental/string
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+regex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_set
new file mode 100644
index 0000000000000..f1d2953360dc6
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_set
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/set
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+set
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_simd
new file mode 100644
index 0000000000000..f06f6e9cea012
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_simd
@@ -0,0 +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/cxx17/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_string
new file mode 100644
index 0000000000000..367a9ed7da4bb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_string
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+experimental/memory_resource
+experimental/string
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_type_traits b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_type_traits
new file mode 100644
index 0000000000000..c1e83e731fbd2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_type_traits
@@ -0,0 +1,6 @@
+cstddef
+cstdint
+experimental/type_traits
+initializer_list
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_unordered_map
new file mode 100644
index 0000000000000..16753ae30a7b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_unordered_map
@@ -0,0 +1,36 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/unordered_map
+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/cxx17/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_unordered_set
new file mode 100644
index 0000000000000..1aafa61386b74
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_unordered_set
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/unordered_set
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+unordered_set
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_utility
new file mode 100644
index 0000000000000..a399b3ebb27c6
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_utility
@@ -0,0 +1,12 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+experimental/utility
+initializer_list
+iosfwd
+limits
+type_traits
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_vector
new file mode 100644
index 0000000000000..1c569628be18e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.experimental_vector
@@ -0,0 +1,32 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/utility
+experimental/vector
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ext_hash_map
new file mode 100644
index 0000000000000..459536294e0c1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ext_hash_map
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+ext/hash_map
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ext_hash_set
new file mode 100644
index 0000000000000..160335aab3676
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ext_hash_set
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+ext/hash_set
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.filesystem b/libcxx/test/libcxx/transitive_includes/cxx17/expected.filesystem
new file mode 100644
index 0000000000000..22e80bc111922
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.filesystem
@@ -0,0 +1,51 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+filesystem
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.format b/libcxx/test/libcxx/transitive_includes/cxx17/expected.format
new file mode 100644
index 0000000000000..08d46d27a9c04
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.format
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+charconv
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+format
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.forward_list b/libcxx/test/libcxx/transitive_includes/cxx17/expected.forward_list
new file mode 100644
index 0000000000000..33afc74bd420a
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.forward_list
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx17/expected.fstream b/libcxx/test/libcxx/transitive_includes/cxx17/expected.fstream
new file mode 100644
index 0000000000000..7a892e11bfe61
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.fstream
@@ -0,0 +1,52 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+filesystem
+fstream
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.functional b/libcxx/test/libcxx/transitive_includes/cxx17/expected.functional
new file mode 100644
index 0000000000000..7625982373f82
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.functional
@@ -0,0 +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/cxx17/expected.future b/libcxx/test/libcxx/transitive_includes/cxx17/expected.future
new file mode 100644
index 0000000000000..92bd4e044ecc3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.future
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+future
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+thread
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.initializer_list b/libcxx/test/libcxx/transitive_includes/cxx17/expected.initializer_list
new file mode 100644
index 0000000000000..8b92a6553ca19
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.initializer_list
@@ -0,0 +1,3 @@
+cstddef
+initializer_list
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.iomanip b/libcxx/test/libcxx/transitive_includes/cxx17/expected.iomanip
new file mode 100644
index 0000000000000..39829086f4cb1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.iomanip
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.ios b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ios
new file mode 100644
index 0000000000000..6e7e5b2689767
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ios
@@ -0,0 +1,43 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.iosfwd b/libcxx/test/libcxx/transitive_includes/cxx17/expected.iosfwd
new file mode 100644
index 0000000000000..ff6e0e3d092b7
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.iosfwd
@@ -0,0 +1,2 @@
+iosfwd
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.iostream b/libcxx/test/libcxx/transitive_includes/cxx17/expected.iostream
new file mode 100644
index 0000000000000..580aeaf867341
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.iostream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iostream
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.istream b/libcxx/test/libcxx/transitive_includes/cxx17/expected.istream
new file mode 100644
index 0000000000000..fd0c4b4ca7361
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.istream
@@ -0,0 +1,49 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.iterator b/libcxx/test/libcxx/transitive_includes/cxx17/expected.iterator
new file mode 100644
index 0000000000000..447087a3f6f96
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.iterator
@@ -0,0 +1,19 @@
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+initializer_list
+iosfwd
+iterator
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.latch b/libcxx/test/libcxx/transitive_includes/cxx17/expected.latch
new file mode 100644
index 0000000000000..a7a6bbc912cef
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.latch
@@ -0,0 +1,15 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+latch
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.limits b/libcxx/test/libcxx/transitive_includes/cxx17/expected.limits
new file mode 100644
index 0000000000000..49fcbf44c5b21
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.limits
@@ -0,0 +1,5 @@
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.list b/libcxx/test/libcxx/transitive_includes/cxx17/expected.list
new file mode 100644
index 0000000000000..b596079c340b0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.list
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+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/cxx17/expected.locale b/libcxx/test/libcxx/transitive_includes/cxx17/expected.locale
new file mode 100644
index 0000000000000..29719367689e4
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.locale
@@ -0,0 +1,46 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.map b/libcxx/test/libcxx/transitive_includes/cxx17/expected.map
new file mode 100644
index 0000000000000..c871579ea35ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.map
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+map
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.memory b/libcxx/test/libcxx/transitive_includes/cxx17/expected.memory
new file mode 100644
index 0000000000000..f36910fde696d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.memory
@@ -0,0 +1,26 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.mutex b/libcxx/test/libcxx/transitive_includes/cxx17/expected.mutex
new file mode 100644
index 0000000000000..4d101cb290c16
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.mutex
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.new b/libcxx/test/libcxx/transitive_includes/cxx17/expected.new
new file mode 100644
index 0000000000000..9fd8f6aabd0c9
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.new
@@ -0,0 +1,7 @@
+cstddef
+cstdint
+cstdlib
+exception
+new
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.numbers b/libcxx/test/libcxx/transitive_includes/cxx17/expected.numbers
new file mode 100644
index 0000000000000..a8b65fc82096b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.numbers
@@ -0,0 +1,6 @@
+concepts
+cstddef
+cstdint
+numbers
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.numeric b/libcxx/test/libcxx/transitive_includes/cxx17/expected.numeric
new file mode 100644
index 0000000000000..558b32457eb4c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.numeric
@@ -0,0 +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/cxx17/expected.optional b/libcxx/test/libcxx/transitive_includes/cxx17/expected.optional
new file mode 100644
index 0000000000000..993ce23d8009d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.optional
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.ostream b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ostream
new file mode 100644
index 0000000000000..762d13c26ac3c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ostream
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.queue b/libcxx/test/libcxx/transitive_includes/cxx17/expected.queue
new file mode 100644
index 0000000000000..5861852fc5322
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.queue
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx17/expected.random b/libcxx/test/libcxx/transitive_includes/cxx17/expected.random
new file mode 100644
index 0000000000000..96a956ad800a1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.random
@@ -0,0 +1,41 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+numeric
+optional
+random
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.ranges b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ranges
new file mode 100644
index 0000000000000..3dbb13bb9680f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ranges
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+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/cxx17/expected.ratio b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ratio
new file mode 100644
index 0000000000000..deda945f1b575
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.ratio
@@ -0,0 +1,6 @@
+climits
+cstddef
+cstdint
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.regex b/libcxx/test/libcxx/transitive_includes/cxx17/expected.regex
new file mode 100644
index 0000000000000..76df207366621
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.regex
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+deque
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+regex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/cxx17/expected.scoped_allocator
new file mode 100644
index 0000000000000..22dcb319a5e67
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.scoped_allocator
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+scoped_allocator
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.semaphore b/libcxx/test/libcxx/transitive_includes/cxx17/expected.semaphore
new file mode 100644
index 0000000000000..d6802e25aa70d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.semaphore
@@ -0,0 +1,15 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+limits
+ratio
+semaphore
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.set b/libcxx/test/libcxx/transitive_includes/cxx17/expected.set
new file mode 100644
index 0000000000000..849e87331b725
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.set
@@ -0,0 +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
+set
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/cxx17/expected.shared_mutex
new file mode 100644
index 0000000000000..fdea61e19bba8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.shared_mutex
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+shared_mutex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.span b/libcxx/test/libcxx/transitive_includes/cxx17/expected.span
new file mode 100644
index 0000000000000..a46c30df88516
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.span
@@ -0,0 +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/cxx17/expected.sstream b/libcxx/test/libcxx/transitive_includes/cxx17/expected.sstream
new file mode 100644
index 0000000000000..1724fbdde39ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.sstream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.stack b/libcxx/test/libcxx/transitive_includes/cxx17/expected.stack
new file mode 100644
index 0000000000000..1a7d18cb85f24
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.stack
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx17/expected.stdexcept b/libcxx/test/libcxx/transitive_includes/cxx17/expected.stdexcept
new file mode 100644
index 0000000000000..b8dd684ffcbbf
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.stdexcept
@@ -0,0 +1,8 @@
+cstddef
+cstdint
+cstdlib
+exception
+iosfwd
+stdexcept
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.streambuf b/libcxx/test/libcxx/transitive_includes/cxx17/expected.streambuf
new file mode 100644
index 0000000000000..a3001ce44a1bb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.streambuf
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.string b/libcxx/test/libcxx/transitive_includes/cxx17/expected.string
new file mode 100644
index 0000000000000..0dacf739a7859
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.string
@@ -0,0 +1,39 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.string_view b/libcxx/test/libcxx/transitive_includes/cxx17/expected.string_view
new file mode 100644
index 0000000000000..e814351725ef2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.string_view
@@ -0,0 +1,38 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+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/cxx17/expected.strstream b/libcxx/test/libcxx/transitive_includes/cxx17/expected.strstream
new file mode 100644
index 0000000000000..782153b595b63
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.strstream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+strstream
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.system_error b/libcxx/test/libcxx/transitive_includes/cxx17/expected.system_error
new file mode 100644
index 0000000000000..4101ee5209a39
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.system_error
@@ -0,0 +1,41 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.thread b/libcxx/test/libcxx/transitive_includes/cxx17/expected.thread
new file mode 100644
index 0000000000000..ab8c3c7c85ba2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.thread
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+thread
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.tuple b/libcxx/test/libcxx/transitive_includes/cxx17/expected.tuple
new file mode 100644
index 0000000000000..69858dc888c3b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.tuple
@@ -0,0 +1,15 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+exception
+initializer_list
+iosfwd
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.type_traits b/libcxx/test/libcxx/transitive_includes/cxx17/expected.type_traits
new file mode 100644
index 0000000000000..8448275a1728c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.type_traits
@@ -0,0 +1,4 @@
+cstddef
+cstdint
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.typeindex b/libcxx/test/libcxx/transitive_includes/cxx17/expected.typeindex
new file mode 100644
index 0000000000000..8f1c652535378
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.typeindex
@@ -0,0 +1,15 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+exception
+initializer_list
+iosfwd
+limits
+new
+type_traits
+typeindex
+typeinfo
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.typeinfo b/libcxx/test/libcxx/transitive_includes/cxx17/expected.typeinfo
new file mode 100644
index 0000000000000..609a604805c9b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.typeinfo
@@ -0,0 +1,7 @@
+cstddef
+cstdint
+cstdlib
+exception
+type_traits
+typeinfo
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/cxx17/expected.unordered_map
new file mode 100644
index 0000000000000..2250cf96690a3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.unordered_map
@@ -0,0 +1,30 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/cxx17/expected.unordered_set
new file mode 100644
index 0000000000000..9352f0b05b721
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.unordered_set
@@ -0,0 +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
+unordered_set
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.utility b/libcxx/test/libcxx/transitive_includes/cxx17/expected.utility
new file mode 100644
index 0000000000000..799a14724cf41
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.utility
@@ -0,0 +1,11 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+initializer_list
+iosfwd
+limits
+type_traits
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.valarray b/libcxx/test/libcxx/transitive_includes/cxx17/expected.valarray
new file mode 100644
index 0000000000000..a069f37119fa8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.valarray
@@ -0,0 +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/cxx17/expected.variant b/libcxx/test/libcxx/transitive_includes/cxx17/expected.variant
new file mode 100644
index 0000000000000..d94d72974cb84
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.variant
@@ -0,0 +1,17 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+initializer_list
+iosfwd
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.vector b/libcxx/test/libcxx/transitive_includes/cxx17/expected.vector
new file mode 100644
index 0000000000000..5fb9d7d19cc12
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.vector
@@ -0,0 +1,29 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx17/expected.version b/libcxx/test/libcxx/transitive_includes/cxx17/expected.version
new file mode 100644
index 0000000000000..088eda41aa61d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx17/expected.version
@@ -0,0 +1 @@
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.algorithm b/libcxx/test/libcxx/transitive_includes/cxx20/expected.algorithm
new file mode 100644
index 0000000000000..944a3eeea2d64
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.algorithm
@@ -0,0 +1,28 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.any b/libcxx/test/libcxx/transitive_includes/cxx20/expected.any
new file mode 100644
index 0000000000000..86009188e53e3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.any
@@ -0,0 +1,27 @@
+any
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.array b/libcxx/test/libcxx/transitive_includes/cxx20/expected.array
new file mode 100644
index 0000000000000..7145642a8f46e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.array
@@ -0,0 +1,29 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.atomic b/libcxx/test/libcxx/transitive_includes/cxx20/expected.atomic
new file mode 100644
index 0000000000000..3e9917b3da1a0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.atomic
@@ -0,0 +1,14 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.barrier b/libcxx/test/libcxx/transitive_includes/cxx20/expected.barrier
new file mode 100644
index 0000000000000..c2865c8d3ef09
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.barrier
@@ -0,0 +1,27 @@
+atomic
+barrier
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.bit b/libcxx/test/libcxx/transitive_includes/cxx20/expected.bit
new file mode 100644
index 0000000000000..4fb5285f8142e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.bit
@@ -0,0 +1,8 @@
+bit
+cstddef
+cstdint
+cstdlib
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.bitset b/libcxx/test/libcxx/transitive_includes/cxx20/expected.bitset
new file mode 100644
index 0000000000000..3cf3e8dbdfc73
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.bitset
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cassert b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cassert
new file mode 100644
index 0000000000000..69b779ef2f206
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cassert
@@ -0,0 +1 @@
+cassert
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ccomplex
new file mode 100644
index 0000000000000..98bf9a8010e40
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ccomplex
@@ -0,0 +1,52 @@
+algorithm
+array
+atomic
+bit
+bitset
+ccomplex
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cctype b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cctype
new file mode 100644
index 0000000000000..a82e62c088dce
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cctype
@@ -0,0 +1 @@
+cctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cerrno b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cerrno
new file mode 100644
index 0000000000000..24c00a9877c3b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cerrno
@@ -0,0 +1 @@
+cerrno
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cfenv b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cfenv
new file mode 100644
index 0000000000000..9980586372456
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cfenv
@@ -0,0 +1 @@
+cfenv
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cfloat b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cfloat
new file mode 100644
index 0000000000000..3bb5aa14cfbfe
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cfloat
@@ -0,0 +1 @@
+cfloat
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.charconv b/libcxx/test/libcxx/transitive_includes/cxx20/expected.charconv
new file mode 100644
index 0000000000000..1ab0e5d37a401
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.charconv
@@ -0,0 +1,13 @@
+cerrno
+charconv
+cmath
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+initializer_list
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.chrono b/libcxx/test/libcxx/transitive_includes/cxx20/expected.chrono
new file mode 100644
index 0000000000000..fdb624bc1df42
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.chrono
@@ -0,0 +1,11 @@
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+ctime
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cinttypes b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cinttypes
new file mode 100644
index 0000000000000..911d5dd27d082
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cinttypes
@@ -0,0 +1,2 @@
+cinttypes
+cstdint
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.ciso646 b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ciso646
new file mode 100644
index 0000000000000..6c1d5458c9c9c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ciso646
@@ -0,0 +1 @@
+ciso646
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.climits b/libcxx/test/libcxx/transitive_includes/cxx20/expected.climits
new file mode 100644
index 0000000000000..271e000221016
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.climits
@@ -0,0 +1 @@
+climits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.clocale b/libcxx/test/libcxx/transitive_includes/cxx20/expected.clocale
new file mode 100644
index 0000000000000..0ac42c4b403ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.clocale
@@ -0,0 +1 @@
+clocale
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cmath b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cmath
new file mode 100644
index 0000000000000..7678c0e38802c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cmath
@@ -0,0 +1,6 @@
+cmath
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.codecvt b/libcxx/test/libcxx/transitive_includes/cxx20/expected.codecvt
new file mode 100644
index 0000000000000..0931ca137c0bd
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.codecvt
@@ -0,0 +1,43 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+codecvt
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.compare b/libcxx/test/libcxx/transitive_includes/cxx20/expected.compare
new file mode 100644
index 0000000000000..df2d92f5d4b6c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.compare
@@ -0,0 +1,7 @@
+cmath
+compare
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.complex b/libcxx/test/libcxx/transitive_includes/cxx20/expected.complex
new file mode 100644
index 0000000000000..64161c1d331fe
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.complex
@@ -0,0 +1,51 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.concepts b/libcxx/test/libcxx/transitive_includes/cxx20/expected.concepts
new file mode 100644
index 0000000000000..31e9f436e6cd3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.concepts
@@ -0,0 +1,5 @@
+concepts
+cstddef
+cstdint
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/cxx20/expected.condition_variable
new file mode 100644
index 0000000000000..968007a37cef8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.condition_variable
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+condition_variable
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.coroutine b/libcxx/test/libcxx/transitive_includes/cxx20/expected.coroutine
new file mode 100644
index 0000000000000..8dd332d472542
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.coroutine
@@ -0,0 +1,10 @@
+cmath
+compare
+coroutine
+cstddef
+cstdint
+cstring
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.csetjmp b/libcxx/test/libcxx/transitive_includes/cxx20/expected.csetjmp
new file mode 100644
index 0000000000000..2f72e67f0324d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.csetjmp
@@ -0,0 +1 @@
+csetjmp
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.csignal b/libcxx/test/libcxx/transitive_includes/cxx20/expected.csignal
new file mode 100644
index 0000000000000..c17f2a3b99dfb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.csignal
@@ -0,0 +1 @@
+csignal
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdarg b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdarg
new file mode 100644
index 0000000000000..ce71517eeb149
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdarg
@@ -0,0 +1 @@
+cstdarg
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdbool b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdbool
new file mode 100644
index 0000000000000..f3a52bba86c16
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdbool
@@ -0,0 +1 @@
+cstdbool
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstddef b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstddef
new file mode 100644
index 0000000000000..7b45506ea14b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstddef
@@ -0,0 +1,2 @@
+cstddef
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdint b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdint
new file mode 100644
index 0000000000000..37103a4f4b892
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdint
@@ -0,0 +1 @@
+cstdint
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdio b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdio
new file mode 100644
index 0000000000000..5b70aa3cf8d42
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdio
@@ -0,0 +1 @@
+cstdio
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdlib b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdlib
new file mode 100644
index 0000000000000..b98a7237dde79
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstdlib
@@ -0,0 +1 @@
+cstdlib
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstring b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstring
new file mode 100644
index 0000000000000..0fdbe597c9df1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cstring
@@ -0,0 +1 @@
+cstring
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ctgmath
new file mode 100644
index 0000000000000..7467a5ab59520
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ctgmath
@@ -0,0 +1,53 @@
+algorithm
+array
+atomic
+bit
+bitset
+ccomplex
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctgmath
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.ctime b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ctime
new file mode 100644
index 0000000000000..ee049c40b25b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ctime
@@ -0,0 +1 @@
+ctime
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cuchar b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cuchar
new file mode 100644
index 0000000000000..588664ab50b3f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cuchar
@@ -0,0 +1 @@
+cuchar
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cwchar b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cwchar
new file mode 100644
index 0000000000000..1e6c2091fa4a0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cwchar
@@ -0,0 +1,3 @@
+cctype
+cwchar
+cwctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.cwctype b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cwctype
new file mode 100644
index 0000000000000..fa1b7f2569941
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.cwctype
@@ -0,0 +1,2 @@
+cctype
+cwctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.deque b/libcxx/test/libcxx/transitive_includes/cxx20/expected.deque
new file mode 100644
index 0000000000000..c26bdc7479b64
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.deque
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx20/expected.exception b/libcxx/test/libcxx/transitive_includes/cxx20/expected.exception
new file mode 100644
index 0000000000000..c48f9ed9e744d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.exception
@@ -0,0 +1,6 @@
+cstddef
+cstdint
+cstdlib
+exception
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.execution b/libcxx/test/libcxx/transitive_includes/cxx20/expected.execution
new file mode 100644
index 0000000000000..b42e7095b5800
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.execution
@@ -0,0 +1,2 @@
+execution
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_algorithm
new file mode 100644
index 0000000000000..8a5cd7de65d88
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_algorithm
@@ -0,0 +1,29 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/algorithm
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_coroutine
new file mode 100644
index 0000000000000..682f0fa0e7a83
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_coroutine
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/coroutine
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_deque
new file mode 100644
index 0000000000000..bd86d1588beb1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_deque
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+deque
+exception
+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/cxx20/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_forward_list
new file mode 100644
index 0000000000000..c43fab08b41f3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_forward_list
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/forward_list
+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/cxx20/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_functional
new file mode 100644
index 0000000000000..87cee2d288827
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_functional
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/functional
+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/cxx20/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_iterator
new file mode 100644
index 0000000000000..14d31c215ffb7
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_iterator
@@ -0,0 +1,20 @@
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+experimental/iterator
+initializer_list
+iosfwd
+iterator
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_list
new file mode 100644
index 0000000000000..ac800654f5323
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_list
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+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/cxx20/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_map
new file mode 100644
index 0000000000000..d132098b01a1b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_map
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/map
+experimental/memory_resource
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+map
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_memory_resource
new file mode 100644
index 0000000000000..94d9abd26b6cb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_memory_resource
@@ -0,0 +1,28 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/utility
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_propagate_const b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_propagate_const
new file mode 100644
index 0000000000000..a78fa83bc983f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_propagate_const
@@ -0,0 +1,5 @@
+cstddef
+cstdint
+experimental/propagate_const
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_regex
new file mode 100644
index 0000000000000..8a49aac962c25
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_regex
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+deque
+exception
+experimental/memory_resource
+experimental/regex
+experimental/string
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+regex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_set
new file mode 100644
index 0000000000000..f1d2953360dc6
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_set
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/set
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+set
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_simd
new file mode 100644
index 0000000000000..f06f6e9cea012
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_simd
@@ -0,0 +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/cxx20/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_string
new file mode 100644
index 0000000000000..367a9ed7da4bb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_string
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+experimental/memory_resource
+experimental/string
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_type_traits b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_type_traits
new file mode 100644
index 0000000000000..c1e83e731fbd2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_type_traits
@@ -0,0 +1,6 @@
+cstddef
+cstdint
+experimental/type_traits
+initializer_list
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_unordered_map
new file mode 100644
index 0000000000000..16753ae30a7b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_unordered_map
@@ -0,0 +1,36 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/unordered_map
+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/cxx20/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_unordered_set
new file mode 100644
index 0000000000000..1aafa61386b74
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_unordered_set
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/unordered_set
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+unordered_set
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_utility
new file mode 100644
index 0000000000000..a399b3ebb27c6
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_utility
@@ -0,0 +1,12 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+experimental/utility
+initializer_list
+iosfwd
+limits
+type_traits
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_vector
new file mode 100644
index 0000000000000..1c569628be18e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.experimental_vector
@@ -0,0 +1,32 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/utility
+experimental/vector
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ext_hash_map
new file mode 100644
index 0000000000000..459536294e0c1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ext_hash_map
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+ext/hash_map
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ext_hash_set
new file mode 100644
index 0000000000000..160335aab3676
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ext_hash_set
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+ext/hash_set
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.filesystem b/libcxx/test/libcxx/transitive_includes/cxx20/expected.filesystem
new file mode 100644
index 0000000000000..22e80bc111922
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.filesystem
@@ -0,0 +1,51 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+filesystem
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.format b/libcxx/test/libcxx/transitive_includes/cxx20/expected.format
new file mode 100644
index 0000000000000..08d46d27a9c04
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.format
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+charconv
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+format
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.forward_list b/libcxx/test/libcxx/transitive_includes/cxx20/expected.forward_list
new file mode 100644
index 0000000000000..33afc74bd420a
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.forward_list
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx20/expected.fstream b/libcxx/test/libcxx/transitive_includes/cxx20/expected.fstream
new file mode 100644
index 0000000000000..7a892e11bfe61
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.fstream
@@ -0,0 +1,52 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+filesystem
+fstream
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.functional b/libcxx/test/libcxx/transitive_includes/cxx20/expected.functional
new file mode 100644
index 0000000000000..7625982373f82
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.functional
@@ -0,0 +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/cxx20/expected.future b/libcxx/test/libcxx/transitive_includes/cxx20/expected.future
new file mode 100644
index 0000000000000..92bd4e044ecc3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.future
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+future
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+thread
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.initializer_list b/libcxx/test/libcxx/transitive_includes/cxx20/expected.initializer_list
new file mode 100644
index 0000000000000..8b92a6553ca19
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.initializer_list
@@ -0,0 +1,3 @@
+cstddef
+initializer_list
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.iomanip b/libcxx/test/libcxx/transitive_includes/cxx20/expected.iomanip
new file mode 100644
index 0000000000000..39829086f4cb1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.iomanip
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.ios b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ios
new file mode 100644
index 0000000000000..6e7e5b2689767
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ios
@@ -0,0 +1,43 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.iosfwd b/libcxx/test/libcxx/transitive_includes/cxx20/expected.iosfwd
new file mode 100644
index 0000000000000..ff6e0e3d092b7
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.iosfwd
@@ -0,0 +1,2 @@
+iosfwd
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.iostream b/libcxx/test/libcxx/transitive_includes/cxx20/expected.iostream
new file mode 100644
index 0000000000000..580aeaf867341
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.iostream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iostream
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.istream b/libcxx/test/libcxx/transitive_includes/cxx20/expected.istream
new file mode 100644
index 0000000000000..fd0c4b4ca7361
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.istream
@@ -0,0 +1,49 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.iterator b/libcxx/test/libcxx/transitive_includes/cxx20/expected.iterator
new file mode 100644
index 0000000000000..447087a3f6f96
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.iterator
@@ -0,0 +1,19 @@
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+initializer_list
+iosfwd
+iterator
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.latch b/libcxx/test/libcxx/transitive_includes/cxx20/expected.latch
new file mode 100644
index 0000000000000..a7a6bbc912cef
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.latch
@@ -0,0 +1,15 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+latch
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.limits b/libcxx/test/libcxx/transitive_includes/cxx20/expected.limits
new file mode 100644
index 0000000000000..49fcbf44c5b21
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.limits
@@ -0,0 +1,5 @@
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.list b/libcxx/test/libcxx/transitive_includes/cxx20/expected.list
new file mode 100644
index 0000000000000..b596079c340b0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.list
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+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/cxx20/expected.locale b/libcxx/test/libcxx/transitive_includes/cxx20/expected.locale
new file mode 100644
index 0000000000000..29719367689e4
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.locale
@@ -0,0 +1,46 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.map b/libcxx/test/libcxx/transitive_includes/cxx20/expected.map
new file mode 100644
index 0000000000000..c871579ea35ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.map
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+map
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.memory b/libcxx/test/libcxx/transitive_includes/cxx20/expected.memory
new file mode 100644
index 0000000000000..f36910fde696d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.memory
@@ -0,0 +1,26 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.mutex b/libcxx/test/libcxx/transitive_includes/cxx20/expected.mutex
new file mode 100644
index 0000000000000..4d101cb290c16
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.mutex
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.new b/libcxx/test/libcxx/transitive_includes/cxx20/expected.new
new file mode 100644
index 0000000000000..9fd8f6aabd0c9
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.new
@@ -0,0 +1,7 @@
+cstddef
+cstdint
+cstdlib
+exception
+new
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.numbers b/libcxx/test/libcxx/transitive_includes/cxx20/expected.numbers
new file mode 100644
index 0000000000000..a8b65fc82096b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.numbers
@@ -0,0 +1,6 @@
+concepts
+cstddef
+cstdint
+numbers
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.numeric b/libcxx/test/libcxx/transitive_includes/cxx20/expected.numeric
new file mode 100644
index 0000000000000..558b32457eb4c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.numeric
@@ -0,0 +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/cxx20/expected.optional b/libcxx/test/libcxx/transitive_includes/cxx20/expected.optional
new file mode 100644
index 0000000000000..993ce23d8009d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.optional
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.ostream b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ostream
new file mode 100644
index 0000000000000..762d13c26ac3c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ostream
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.queue b/libcxx/test/libcxx/transitive_includes/cxx20/expected.queue
new file mode 100644
index 0000000000000..5861852fc5322
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.queue
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx20/expected.random b/libcxx/test/libcxx/transitive_includes/cxx20/expected.random
new file mode 100644
index 0000000000000..96a956ad800a1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.random
@@ -0,0 +1,41 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+numeric
+optional
+random
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.ranges b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ranges
new file mode 100644
index 0000000000000..3dbb13bb9680f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ranges
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+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/cxx20/expected.ratio b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ratio
new file mode 100644
index 0000000000000..deda945f1b575
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.ratio
@@ -0,0 +1,6 @@
+climits
+cstddef
+cstdint
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.regex b/libcxx/test/libcxx/transitive_includes/cxx20/expected.regex
new file mode 100644
index 0000000000000..76df207366621
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.regex
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+deque
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+regex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/cxx20/expected.scoped_allocator
new file mode 100644
index 0000000000000..22dcb319a5e67
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.scoped_allocator
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+scoped_allocator
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.semaphore b/libcxx/test/libcxx/transitive_includes/cxx20/expected.semaphore
new file mode 100644
index 0000000000000..d6802e25aa70d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.semaphore
@@ -0,0 +1,15 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+limits
+ratio
+semaphore
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.set b/libcxx/test/libcxx/transitive_includes/cxx20/expected.set
new file mode 100644
index 0000000000000..849e87331b725
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.set
@@ -0,0 +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
+set
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/cxx20/expected.shared_mutex
new file mode 100644
index 0000000000000..fdea61e19bba8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.shared_mutex
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+shared_mutex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.span b/libcxx/test/libcxx/transitive_includes/cxx20/expected.span
new file mode 100644
index 0000000000000..a46c30df88516
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.span
@@ -0,0 +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/cxx20/expected.sstream b/libcxx/test/libcxx/transitive_includes/cxx20/expected.sstream
new file mode 100644
index 0000000000000..1724fbdde39ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.sstream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.stack b/libcxx/test/libcxx/transitive_includes/cxx20/expected.stack
new file mode 100644
index 0000000000000..1a7d18cb85f24
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.stack
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx20/expected.stdexcept b/libcxx/test/libcxx/transitive_includes/cxx20/expected.stdexcept
new file mode 100644
index 0000000000000..b8dd684ffcbbf
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.stdexcept
@@ -0,0 +1,8 @@
+cstddef
+cstdint
+cstdlib
+exception
+iosfwd
+stdexcept
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.streambuf b/libcxx/test/libcxx/transitive_includes/cxx20/expected.streambuf
new file mode 100644
index 0000000000000..a3001ce44a1bb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.streambuf
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.string b/libcxx/test/libcxx/transitive_includes/cxx20/expected.string
new file mode 100644
index 0000000000000..0dacf739a7859
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.string
@@ -0,0 +1,39 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.string_view b/libcxx/test/libcxx/transitive_includes/cxx20/expected.string_view
new file mode 100644
index 0000000000000..e814351725ef2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.string_view
@@ -0,0 +1,38 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+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/cxx20/expected.strstream b/libcxx/test/libcxx/transitive_includes/cxx20/expected.strstream
new file mode 100644
index 0000000000000..782153b595b63
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.strstream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+strstream
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.system_error b/libcxx/test/libcxx/transitive_includes/cxx20/expected.system_error
new file mode 100644
index 0000000000000..4101ee5209a39
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.system_error
@@ -0,0 +1,41 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.thread b/libcxx/test/libcxx/transitive_includes/cxx20/expected.thread
new file mode 100644
index 0000000000000..ab8c3c7c85ba2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.thread
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+thread
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.tuple b/libcxx/test/libcxx/transitive_includes/cxx20/expected.tuple
new file mode 100644
index 0000000000000..69858dc888c3b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.tuple
@@ -0,0 +1,15 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+exception
+initializer_list
+iosfwd
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.type_traits b/libcxx/test/libcxx/transitive_includes/cxx20/expected.type_traits
new file mode 100644
index 0000000000000..8448275a1728c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.type_traits
@@ -0,0 +1,4 @@
+cstddef
+cstdint
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.typeindex b/libcxx/test/libcxx/transitive_includes/cxx20/expected.typeindex
new file mode 100644
index 0000000000000..8f1c652535378
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.typeindex
@@ -0,0 +1,15 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+exception
+initializer_list
+iosfwd
+limits
+new
+type_traits
+typeindex
+typeinfo
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.typeinfo b/libcxx/test/libcxx/transitive_includes/cxx20/expected.typeinfo
new file mode 100644
index 0000000000000..609a604805c9b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.typeinfo
@@ -0,0 +1,7 @@
+cstddef
+cstdint
+cstdlib
+exception
+type_traits
+typeinfo
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/cxx20/expected.unordered_map
new file mode 100644
index 0000000000000..2250cf96690a3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.unordered_map
@@ -0,0 +1,30 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/cxx20/expected.unordered_set
new file mode 100644
index 0000000000000..9352f0b05b721
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.unordered_set
@@ -0,0 +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
+unordered_set
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.utility b/libcxx/test/libcxx/transitive_includes/cxx20/expected.utility
new file mode 100644
index 0000000000000..799a14724cf41
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.utility
@@ -0,0 +1,11 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+initializer_list
+iosfwd
+limits
+type_traits
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.valarray b/libcxx/test/libcxx/transitive_includes/cxx20/expected.valarray
new file mode 100644
index 0000000000000..a069f37119fa8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.valarray
@@ -0,0 +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/cxx20/expected.variant b/libcxx/test/libcxx/transitive_includes/cxx20/expected.variant
new file mode 100644
index 0000000000000..d94d72974cb84
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.variant
@@ -0,0 +1,17 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+initializer_list
+iosfwd
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.vector b/libcxx/test/libcxx/transitive_includes/cxx20/expected.vector
new file mode 100644
index 0000000000000..5fb9d7d19cc12
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.vector
@@ -0,0 +1,29 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx20/expected.version b/libcxx/test/libcxx/transitive_includes/cxx20/expected.version
new file mode 100644
index 0000000000000..088eda41aa61d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx20/expected.version
@@ -0,0 +1 @@
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.algorithm b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.algorithm
new file mode 100644
index 0000000000000..944a3eeea2d64
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.algorithm
@@ -0,0 +1,28 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.any b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.any
new file mode 100644
index 0000000000000..86009188e53e3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.any
@@ -0,0 +1,27 @@
+any
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.array b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.array
new file mode 100644
index 0000000000000..7145642a8f46e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.array
@@ -0,0 +1,29 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.atomic b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.atomic
new file mode 100644
index 0000000000000..3e9917b3da1a0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.atomic
@@ -0,0 +1,14 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.barrier b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.barrier
new file mode 100644
index 0000000000000..c2865c8d3ef09
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.barrier
@@ -0,0 +1,27 @@
+atomic
+barrier
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bit b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bit
new file mode 100644
index 0000000000000..4fb5285f8142e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bit
@@ -0,0 +1,8 @@
+bit
+cstddef
+cstdint
+cstdlib
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bitset b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bitset
new file mode 100644
index 0000000000000..3cf3e8dbdfc73
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.bitset
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cassert b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cassert
new file mode 100644
index 0000000000000..69b779ef2f206
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cassert
@@ -0,0 +1 @@
+cassert
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ccomplex b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ccomplex
new file mode 100644
index 0000000000000..98bf9a8010e40
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ccomplex
@@ -0,0 +1,52 @@
+algorithm
+array
+atomic
+bit
+bitset
+ccomplex
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cctype b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cctype
new file mode 100644
index 0000000000000..a82e62c088dce
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cctype
@@ -0,0 +1 @@
+cctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cerrno b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cerrno
new file mode 100644
index 0000000000000..24c00a9877c3b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cerrno
@@ -0,0 +1 @@
+cerrno
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cfenv b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cfenv
new file mode 100644
index 0000000000000..9980586372456
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cfenv
@@ -0,0 +1 @@
+cfenv
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cfloat b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cfloat
new file mode 100644
index 0000000000000..3bb5aa14cfbfe
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cfloat
@@ -0,0 +1 @@
+cfloat
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.charconv b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.charconv
new file mode 100644
index 0000000000000..1ab0e5d37a401
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.charconv
@@ -0,0 +1,13 @@
+cerrno
+charconv
+cmath
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+initializer_list
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.chrono b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.chrono
new file mode 100644
index 0000000000000..fdb624bc1df42
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.chrono
@@ -0,0 +1,11 @@
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+ctime
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cinttypes b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cinttypes
new file mode 100644
index 0000000000000..911d5dd27d082
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cinttypes
@@ -0,0 +1,2 @@
+cinttypes
+cstdint
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ciso646 b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ciso646
new file mode 100644
index 0000000000000..6c1d5458c9c9c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ciso646
@@ -0,0 +1 @@
+ciso646
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.climits b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.climits
new file mode 100644
index 0000000000000..271e000221016
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.climits
@@ -0,0 +1 @@
+climits
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.clocale b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.clocale
new file mode 100644
index 0000000000000..0ac42c4b403ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.clocale
@@ -0,0 +1 @@
+clocale
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cmath b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cmath
new file mode 100644
index 0000000000000..7678c0e38802c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cmath
@@ -0,0 +1,6 @@
+cmath
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.codecvt b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.codecvt
new file mode 100644
index 0000000000000..0931ca137c0bd
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.codecvt
@@ -0,0 +1,43 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+codecvt
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.compare b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.compare
new file mode 100644
index 0000000000000..df2d92f5d4b6c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.compare
@@ -0,0 +1,7 @@
+cmath
+compare
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.complex b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.complex
new file mode 100644
index 0000000000000..64161c1d331fe
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.complex
@@ -0,0 +1,51 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.concepts b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.concepts
new file mode 100644
index 0000000000000..31e9f436e6cd3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.concepts
@@ -0,0 +1,5 @@
+concepts
+cstddef
+cstdint
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.condition_variable b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.condition_variable
new file mode 100644
index 0000000000000..968007a37cef8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.condition_variable
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+condition_variable
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.coroutine b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.coroutine
new file mode 100644
index 0000000000000..8dd332d472542
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.coroutine
@@ -0,0 +1,10 @@
+cmath
+compare
+coroutine
+cstddef
+cstdint
+cstring
+iosfwd
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.csetjmp b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.csetjmp
new file mode 100644
index 0000000000000..2f72e67f0324d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.csetjmp
@@ -0,0 +1 @@
+csetjmp
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.csignal b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.csignal
new file mode 100644
index 0000000000000..c17f2a3b99dfb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.csignal
@@ -0,0 +1 @@
+csignal
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdarg b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdarg
new file mode 100644
index 0000000000000..ce71517eeb149
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdarg
@@ -0,0 +1 @@
+cstdarg
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdbool b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdbool
new file mode 100644
index 0000000000000..f3a52bba86c16
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdbool
@@ -0,0 +1 @@
+cstdbool
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstddef b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstddef
new file mode 100644
index 0000000000000..7b45506ea14b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstddef
@@ -0,0 +1,2 @@
+cstddef
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdint b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdint
new file mode 100644
index 0000000000000..37103a4f4b892
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdint
@@ -0,0 +1 @@
+cstdint
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdio b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdio
new file mode 100644
index 0000000000000..5b70aa3cf8d42
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdio
@@ -0,0 +1 @@
+cstdio
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdlib b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdlib
new file mode 100644
index 0000000000000..b98a7237dde79
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstdlib
@@ -0,0 +1 @@
+cstdlib
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstring b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstring
new file mode 100644
index 0000000000000..0fdbe597c9df1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cstring
@@ -0,0 +1 @@
+cstring
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ctgmath b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ctgmath
new file mode 100644
index 0000000000000..7467a5ab59520
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ctgmath
@@ -0,0 +1,53 @@
+algorithm
+array
+atomic
+bit
+bitset
+ccomplex
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+complex
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctgmath
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ctime b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ctime
new file mode 100644
index 0000000000000..ee049c40b25b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ctime
@@ -0,0 +1 @@
+ctime
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cuchar b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cuchar
new file mode 100644
index 0000000000000..588664ab50b3f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cuchar
@@ -0,0 +1 @@
+cuchar
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cwchar b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cwchar
new file mode 100644
index 0000000000000..1e6c2091fa4a0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cwchar
@@ -0,0 +1,3 @@
+cctype
+cwchar
+cwctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cwctype b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cwctype
new file mode 100644
index 0000000000000..fa1b7f2569941
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.cwctype
@@ -0,0 +1,2 @@
+cctype
+cwctype
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque
new file mode 100644
index 0000000000000..c26bdc7479b64
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.deque
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx2b/expected.exception b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.exception
new file mode 100644
index 0000000000000..c48f9ed9e744d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.exception
@@ -0,0 +1,6 @@
+cstddef
+cstdint
+cstdlib
+exception
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.execution b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.execution
new file mode 100644
index 0000000000000..b42e7095b5800
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.execution
@@ -0,0 +1,2 @@
+execution
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_algorithm b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_algorithm
new file mode 100644
index 0000000000000..8a5cd7de65d88
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_algorithm
@@ -0,0 +1,29 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/algorithm
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_coroutine b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_coroutine
new file mode 100644
index 0000000000000..682f0fa0e7a83
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_coroutine
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/coroutine
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_deque b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_deque
new file mode 100644
index 0000000000000..bd86d1588beb1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_deque
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+deque
+exception
+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/cxx2b/expected.experimental_forward_list b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_forward_list
new file mode 100644
index 0000000000000..c43fab08b41f3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_forward_list
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/forward_list
+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/cxx2b/expected.experimental_functional b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_functional
new file mode 100644
index 0000000000000..87cee2d288827
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_functional
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/functional
+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/cxx2b/expected.experimental_iterator b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_iterator
new file mode 100644
index 0000000000000..14d31c215ffb7
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_iterator
@@ -0,0 +1,20 @@
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+experimental/iterator
+initializer_list
+iosfwd
+iterator
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_list b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_list
new file mode 100644
index 0000000000000..ac800654f5323
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_list
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+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/cxx2b/expected.experimental_map b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_map
new file mode 100644
index 0000000000000..d132098b01a1b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_map
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/map
+experimental/memory_resource
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+map
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_memory_resource b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_memory_resource
new file mode 100644
index 0000000000000..94d9abd26b6cb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_memory_resource
@@ -0,0 +1,28 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/utility
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_propagate_const b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_propagate_const
new file mode 100644
index 0000000000000..a78fa83bc983f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_propagate_const
@@ -0,0 +1,5 @@
+cstddef
+cstdint
+experimental/propagate_const
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_regex b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_regex
new file mode 100644
index 0000000000000..8a49aac962c25
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_regex
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+deque
+exception
+experimental/memory_resource
+experimental/regex
+experimental/string
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+regex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_set b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_set
new file mode 100644
index 0000000000000..f1d2953360dc6
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_set
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/set
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+set
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_simd b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_simd
new file mode 100644
index 0000000000000..f06f6e9cea012
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_simd
@@ -0,0 +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/cxx2b/expected.experimental_string b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_string
new file mode 100644
index 0000000000000..367a9ed7da4bb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_string
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+experimental/memory_resource
+experimental/string
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_type_traits b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_type_traits
new file mode 100644
index 0000000000000..c1e83e731fbd2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_type_traits
@@ -0,0 +1,6 @@
+cstddef
+cstdint
+experimental/type_traits
+initializer_list
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_unordered_map b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_unordered_map
new file mode 100644
index 0000000000000..16753ae30a7b3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_unordered_map
@@ -0,0 +1,36 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/unordered_map
+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/cxx2b/expected.experimental_unordered_set b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_unordered_set
new file mode 100644
index 0000000000000..1aafa61386b74
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_unordered_set
@@ -0,0 +1,37 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/unordered_set
+experimental/utility
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+unordered_set
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_utility b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_utility
new file mode 100644
index 0000000000000..a399b3ebb27c6
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_utility
@@ -0,0 +1,12 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+experimental/utility
+initializer_list
+iosfwd
+limits
+type_traits
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_vector b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_vector
new file mode 100644
index 0000000000000..1c569628be18e
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.experimental_vector
@@ -0,0 +1,32 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+experimental/memory_resource
+experimental/utility
+experimental/vector
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ext_hash_map b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ext_hash_map
new file mode 100644
index 0000000000000..459536294e0c1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ext_hash_map
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+ext/hash_map
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ext_hash_set b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ext_hash_set
new file mode 100644
index 0000000000000..160335aab3676
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ext_hash_set
@@ -0,0 +1,40 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+ext/hash_set
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.filesystem b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.filesystem
new file mode 100644
index 0000000000000..22e80bc111922
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.filesystem
@@ -0,0 +1,51 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+filesystem
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.format b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.format
new file mode 100644
index 0000000000000..08d46d27a9c04
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.format
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+charconv
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+format
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.forward_list b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.forward_list
new file mode 100644
index 0000000000000..33afc74bd420a
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.forward_list
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx2b/expected.fstream b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.fstream
new file mode 100644
index 0000000000000..7a892e11bfe61
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.fstream
@@ -0,0 +1,52 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+filesystem
+fstream
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.functional b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.functional
new file mode 100644
index 0000000000000..7625982373f82
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.functional
@@ -0,0 +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/cxx2b/expected.future b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.future
new file mode 100644
index 0000000000000..92bd4e044ecc3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.future
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+future
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+thread
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.initializer_list b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.initializer_list
new file mode 100644
index 0000000000000..8b92a6553ca19
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.initializer_list
@@ -0,0 +1,3 @@
+cstddef
+initializer_list
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iomanip b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iomanip
new file mode 100644
index 0000000000000..39829086f4cb1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iomanip
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iomanip
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ios b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ios
new file mode 100644
index 0000000000000..6e7e5b2689767
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ios
@@ -0,0 +1,43 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iosfwd b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iosfwd
new file mode 100644
index 0000000000000..ff6e0e3d092b7
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iosfwd
@@ -0,0 +1,2 @@
+iosfwd
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iostream b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iostream
new file mode 100644
index 0000000000000..580aeaf867341
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iostream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iostream
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.istream b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.istream
new file mode 100644
index 0000000000000..fd0c4b4ca7361
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.istream
@@ -0,0 +1,49 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iterator b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iterator
new file mode 100644
index 0000000000000..447087a3f6f96
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.iterator
@@ -0,0 +1,19 @@
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+initializer_list
+iosfwd
+iterator
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.latch b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.latch
new file mode 100644
index 0000000000000..a7a6bbc912cef
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.latch
@@ -0,0 +1,15 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+latch
+limits
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.limits b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.limits
new file mode 100644
index 0000000000000..49fcbf44c5b21
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.limits
@@ -0,0 +1,5 @@
+cstddef
+cstdint
+limits
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.list b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.list
new file mode 100644
index 0000000000000..b596079c340b0
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.list
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+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/cxx2b/expected.locale b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.locale
new file mode 100644
index 0000000000000..29719367689e4
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.locale
@@ -0,0 +1,46 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.map b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.map
new file mode 100644
index 0000000000000..c871579ea35ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.map
@@ -0,0 +1,34 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+map
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.memory b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.memory
new file mode 100644
index 0000000000000..f36910fde696d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.memory
@@ -0,0 +1,26 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.mutex b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.mutex
new file mode 100644
index 0000000000000..4d101cb290c16
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.mutex
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.new b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.new
new file mode 100644
index 0000000000000..9fd8f6aabd0c9
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.new
@@ -0,0 +1,7 @@
+cstddef
+cstdint
+cstdlib
+exception
+new
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.numbers b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.numbers
new file mode 100644
index 0000000000000..a8b65fc82096b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.numbers
@@ -0,0 +1,6 @@
+concepts
+cstddef
+cstdint
+numbers
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.numeric b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.numeric
new file mode 100644
index 0000000000000..558b32457eb4c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.numeric
@@ -0,0 +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/cxx2b/expected.optional b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.optional
new file mode 100644
index 0000000000000..993ce23d8009d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.optional
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ostream b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ostream
new file mode 100644
index 0000000000000..762d13c26ac3c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ostream
@@ -0,0 +1,48 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue
new file mode 100644
index 0000000000000..5861852fc5322
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.queue
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx2b/expected.random b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.random
new file mode 100644
index 0000000000000..96a956ad800a1
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.random
@@ -0,0 +1,41 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+numeric
+optional
+random
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ranges b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ranges
new file mode 100644
index 0000000000000..3dbb13bb9680f
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ranges
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+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/cxx2b/expected.ratio b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ratio
new file mode 100644
index 0000000000000..deda945f1b575
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.ratio
@@ -0,0 +1,6 @@
+climits
+cstddef
+cstdint
+ratio
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.regex b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.regex
new file mode 100644
index 0000000000000..76df207366621
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.regex
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+deque
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+regex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.scoped_allocator b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.scoped_allocator
new file mode 100644
index 0000000000000..22dcb319a5e67
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.scoped_allocator
@@ -0,0 +1,27 @@
+atomic
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+scoped_allocator
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.semaphore b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.semaphore
new file mode 100644
index 0000000000000..d6802e25aa70d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.semaphore
@@ -0,0 +1,15 @@
+atomic
+chrono
+climits
+cmath
+compare
+cstddef
+cstdint
+cstring
+ctime
+iosfwd
+limits
+ratio
+semaphore
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.set b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.set
new file mode 100644
index 0000000000000..849e87331b725
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.set
@@ -0,0 +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
+set
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.shared_mutex b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.shared_mutex
new file mode 100644
index 0000000000000..fdea61e19bba8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.shared_mutex
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+shared_mutex
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.span b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.span
new file mode 100644
index 0000000000000..a46c30df88516
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.span
@@ -0,0 +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/cxx2b/expected.sstream b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.sstream
new file mode 100644
index 0000000000000..1724fbdde39ed
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.sstream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+sstream
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack
new file mode 100644
index 0000000000000..1a7d18cb85f24
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.stack
@@ -0,0 +1,35 @@
+algorithm
+array
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+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/cxx2b/expected.stdexcept b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.stdexcept
new file mode 100644
index 0000000000000..b8dd684ffcbbf
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.stdexcept
@@ -0,0 +1,8 @@
+cstddef
+cstdint
+cstdlib
+exception
+iosfwd
+stdexcept
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.streambuf b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.streambuf
new file mode 100644
index 0000000000000..a3001ce44a1bb
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.streambuf
@@ -0,0 +1,44 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+iterator
+limits
+memory
+mutex
+new
+optional
+ratio
+stdexcept
+streambuf
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string
new file mode 100644
index 0000000000000..0dacf739a7859
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string
@@ -0,0 +1,39 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string_view b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string_view
new file mode 100644
index 0000000000000..e814351725ef2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.string_view
@@ -0,0 +1,38 @@
+algorithm
+array
+atomic
+bit
+cctype
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+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/cxx2b/expected.strstream b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.strstream
new file mode 100644
index 0000000000000..782153b595b63
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.strstream
@@ -0,0 +1,50 @@
+algorithm
+array
+atomic
+bit
+bitset
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstdarg
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+ios
+iosfwd
+istream
+iterator
+limits
+locale
+memory
+mutex
+new
+optional
+ostream
+ratio
+stdexcept
+streambuf
+string
+string_view
+strstream
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.system_error b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.system_error
new file mode 100644
index 0000000000000..4101ee5209a39
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.system_error
@@ -0,0 +1,41 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.thread b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.thread
new file mode 100644
index 0000000000000..ab8c3c7c85ba2
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.thread
@@ -0,0 +1,42 @@
+algorithm
+array
+atomic
+bit
+cctype
+cerrno
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdio
+cstdlib
+cstring
+ctime
+cwchar
+cwctype
+exception
+functional
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+string
+string_view
+system_error
+thread
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.tuple b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.tuple
new file mode 100644
index 0000000000000..69858dc888c3b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.tuple
@@ -0,0 +1,15 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+exception
+initializer_list
+iosfwd
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.type_traits b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.type_traits
new file mode 100644
index 0000000000000..8448275a1728c
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.type_traits
@@ -0,0 +1,4 @@
+cstddef
+cstdint
+type_traits
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.typeindex b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.typeindex
new file mode 100644
index 0000000000000..8f1c652535378
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.typeindex
@@ -0,0 +1,15 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+exception
+initializer_list
+iosfwd
+limits
+new
+type_traits
+typeindex
+typeinfo
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.typeinfo b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.typeinfo
new file mode 100644
index 0000000000000..609a604805c9b
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.typeinfo
@@ -0,0 +1,7 @@
+cstddef
+cstdint
+cstdlib
+exception
+type_traits
+typeinfo
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_map b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_map
new file mode 100644
index 0000000000000..2250cf96690a3
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_map
@@ -0,0 +1,30 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+optional
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+unordered_map
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_set b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_set
new file mode 100644
index 0000000000000..9352f0b05b721
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.unordered_set
@@ -0,0 +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
+unordered_set
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.utility b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.utility
new file mode 100644
index 0000000000000..799a14724cf41
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.utility
@@ -0,0 +1,11 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+initializer_list
+iosfwd
+limits
+type_traits
+utility
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.valarray b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.valarray
new file mode 100644
index 0000000000000..a069f37119fa8
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.valarray
@@ -0,0 +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/cxx2b/expected.variant b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.variant
new file mode 100644
index 0000000000000..d94d72974cb84
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.variant
@@ -0,0 +1,17 @@
+cmath
+compare
+cstddef
+cstdint
+cstdlib
+cstring
+exception
+initializer_list
+iosfwd
+limits
+new
+tuple
+type_traits
+typeinfo
+utility
+variant
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.vector b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.vector
new file mode 100644
index 0000000000000..5fb9d7d19cc12
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.vector
@@ -0,0 +1,29 @@
+algorithm
+atomic
+bit
+chrono
+climits
+cmath
+compare
+concepts
+cstddef
+cstdint
+cstdlib
+cstring
+ctime
+exception
+initializer_list
+iosfwd
+iterator
+limits
+memory
+new
+ratio
+stdexcept
+tuple
+type_traits
+typeinfo
+utility
+variant
+vector
+version
diff --git a/libcxx/test/libcxx/transitive_includes/cxx2b/expected.version b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.version
new file mode 100644
index 0000000000000..088eda41aa61d
--- /dev/null
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b/expected.version
@@ -0,0 +1 @@
+version
diff --git a/libcxx/utils/libcxx/test/params.py b/libcxx/utils/libcxx/test/params.py
index 8dad05b974cd3..e33aac575ba50 100644
--- a/libcxx/utils/libcxx/test/params.py
+++ b/libcxx/utils/libcxx/test/params.py
@@ -81,6 +81,7 @@ def getStdFlag(cfg, std):
default=lambda cfg: next(s for s in reversed(_allStandards) if getStdFlag(cfg, s)),
actions=lambda std: [
AddFeature(std),
+ AddSubstitution('%{cxx_std}', re.sub('\+','x', std)),
AddCompileFlag(lambda cfg: getStdFlag(cfg, std)),
]),
More information about the libcxx-commits
mailing list