[libcxx-commits] [libcxx] fd4680f - [libc++] Include skipped headers in the --trace-includes output

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Thu Sep 29 12:07:31 PDT 2022


Author: Louis Dionne
Date: 2022-09-29T15:07:10-04:00
New Revision: fd4680fd2cbf0b910e99009a21e8515576b922d8

URL: https://github.com/llvm/llvm-project/commit/fd4680fd2cbf0b910e99009a21e8515576b922d8
DIFF: https://github.com/llvm/llvm-project/commit/fd4680fd2cbf0b910e99009a21e8515576b922d8.diff

LOG: [libc++] Include skipped headers in the --trace-includes output

By default, Clang does not include headers that are skipped due to
the include guard optimization in the --trace-includes output, which
breaks the use case that we were trying to use it for.

However, Clang does support the -fshow-skipped-includes flag, which
does exactly what we need and will result in an accurate include
graph.

As a fly-by fix, make sure that our includes don't differ between
-fexceptions and -fno-exceptions.

Differential Revision: https://reviews.llvm.org/D134829

Added: 
    

Modified: 
    libcxx/include/__format/format_error.h
    libcxx/include/typeinfo
    libcxx/test/libcxx/transitive_includes.sh.cpp
    libcxx/test/libcxx/transitive_includes/cxx03.csv
    libcxx/test/libcxx/transitive_includes/cxx11.csv
    libcxx/test/libcxx/transitive_includes/cxx14.csv
    libcxx/test/libcxx/transitive_includes/cxx17.csv
    libcxx/test/libcxx/transitive_includes/cxx20.csv
    libcxx/test/libcxx/transitive_includes/cxx2b.csv
    libcxx/test/libcxx/transitive_includes_to_csv.py

Removed: 
    


################################################################################
diff  --git a/libcxx/include/__format/format_error.h b/libcxx/include/__format/format_error.h
index 742b654686ac..002d1a40a226 100644
--- a/libcxx/include/__format/format_error.h
+++ b/libcxx/include/__format/format_error.h
@@ -11,11 +11,8 @@
 #define _LIBCPP___FORMAT_FORMAT_ERROR_H
 
 #include <__config>
-#include <stdexcept>
-
-#ifdef _LIBCPP_NO_EXCEPTIONS
 #include <cstdlib>
-#endif
+#include <stdexcept>
 
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header

diff  --git a/libcxx/include/typeinfo b/libcxx/include/typeinfo
index 6d2663d8e717..443103939849 100644
--- a/libcxx/include/typeinfo
+++ b/libcxx/include/typeinfo
@@ -61,13 +61,10 @@ public:
 #include <__config>
 #include <cstddef>
 #include <cstdint>
+#include <cstdlib>
 #include <exception>
 #include <type_traits>
 
-#ifdef _LIBCPP_NO_EXCEPTIONS
-#include <cstdlib>
-#endif
-
 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
 #  pragma GCC system_header
 #endif

diff  --git a/libcxx/test/libcxx/transitive_includes.sh.cpp b/libcxx/test/libcxx/transitive_includes.sh.cpp
index a65a135bc48c..56724094f2b1 100644
--- a/libcxx/test/libcxx/transitive_includes.sh.cpp
+++ b/libcxx/test/libcxx/transitive_includes.sh.cpp
@@ -27,6 +27,9 @@
 // This test uses --trace-includes, which is not supported by GCC.
 // UNSUPPORTED: gcc
 
+// This test uses -fshow-skipped-includes, which isn't supported on older Clangs
+// UNSUPPORTED: apple-clang-13
+
 // This test doesn't work on AIX, but it should. Needs investigation.
 // XFAIL: buildhost=aix
 
@@ -60,7 +63,7 @@ for i, header in enumerate(public_headers):
     continue
 
   normalized_header = re.sub('/', '_', header)
-  trace_includes = "%{{cxx}} %s %{{flags}} %{{compile_flags}} --trace-includes -fsyntax-only -DTEST_{} 2>&1".format(i)
+  trace_includes = "%{{cxx}} %s %{{flags}} %{{compile_flags}} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_{} 2>&1".format(i)
 
   print(f"// {RUN}: {trace_includes} | %{{python}} %S/transitive_includes.sanitize.py > %t/header.{normalized_header}")
 
@@ -80,479 +83,479 @@ END-SCRIPT
 // DO NOT MANUALLY EDIT ANYTHING BETWEEN THE MARKERS BELOW
 // GENERATED-MARKER
 // RUN: mkdir %t
-// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fsyntax-only -DTEST_0 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.algorithm
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_0 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.any
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_1 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.array
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_2 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.atomic
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_3 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.barrier
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_4 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.bit
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_5 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.bitset
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_6 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cassert
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_7 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ccomplex
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_8 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cctype
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_9 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cerrno
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_10 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cfenv
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_11 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cfloat
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_12 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.charconv
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_13 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.chrono
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_14 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cinttypes
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_15 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ciso646
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_16 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.climits
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_17 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.clocale
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_18 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cmath
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_19 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.codecvt
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_20 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.compare
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_21 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.complex
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_22 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.concepts
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_24 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.condition_variable
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_25 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.coroutine
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_26 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.csetjmp
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_27 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.csignal
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_28 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cstdarg
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_29 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cstdbool
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_30 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cstddef
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_31 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cstdint
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_32 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cstdio
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_33 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cstdlib
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_34 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cstring
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_35 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ctgmath
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_36 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ctime
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_37 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cuchar
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_39 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cwchar
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_40 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.cwctype
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_41 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.deque
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_42 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.exception
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_44 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.execution
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_45 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.filesystem
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_47 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.format
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_49 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.forward_list
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_50 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.fstream
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_51 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.functional
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_52 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.future
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_53 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.initializer_list
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_54 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.iomanip
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_56 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ios
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_57 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.iosfwd
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_58 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.iostream
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_59 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.istream
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_60 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.iterator
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_61 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.latch
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_62 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.limits
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_63 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.list
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_65 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.locale
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_66 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.map
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_68 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.memory
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_70 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.mutex
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_71 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.new
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_72 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.numbers
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_73 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.numeric
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_74 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.optional
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_75 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ostream
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_76 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.queue
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_77 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.random
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_78 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ranges
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_79 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ratio
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_80 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.regex
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_81 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.scoped_allocator
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_82 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.semaphore
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_83 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.set
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_84 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.shared_mutex
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_86 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.span
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_87 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.sstream
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_88 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.stack
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_89 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.stdexcept
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_93 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.streambuf
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_97 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.string
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_98 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.string_view
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_100 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.strstream
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_101 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.system_error
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_102 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.thread
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_104 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.tuple
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_105 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.type_traits
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_106 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.typeindex
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_107 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.typeinfo
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_108 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.unordered_map
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_110 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.unordered_set
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_111 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.utility
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_112 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.valarray
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_113 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.variant
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_114 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.vector
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_115 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.version
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_116 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_algorithm
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_119 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_coroutine
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_120 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_deque
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_121 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_forward_list
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_122 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_functional
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_123 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_iterator
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_124 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_list
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_125 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_map
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_126 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_memory_resource
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_127 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_propagate_const
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_128 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_regex
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_129 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_set
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_130 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_simd
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_131 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_string
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_132 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_type_traits
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_133 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_unordered_map
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_134 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_unordered_set
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_135 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_utility
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_136 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.experimental_vector
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_137 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ext_hash_map
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_138 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.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/header.ext_hash_set
+// RUN: %{cxx} %s %{flags} %{compile_flags} --trace-includes -fshow-skipped-includes -fsyntax-only -DTEST_139 2>&1 | %{python} %S/transitive_includes.sanitize.py > %t/header.ext_hash_set
 #if defined(TEST_139)
 #include <ext/hash_set>
 #endif

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx03.csv b/libcxx/test/libcxx/transitive_includes/cxx03.csv
index a13f23547582..c5a6fd9e6e99 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx03.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx03.csv
@@ -4,19 +4,28 @@ algorithm chrono
 algorithm climits
 algorithm concepts
 algorithm cstddef
+algorithm cstdint
 algorithm cstdlib
 algorithm cstring
 algorithm initializer_list
+algorithm iosfwd
 algorithm iterator
 algorithm limits
 algorithm memory
 algorithm new
+algorithm stdexcept
 algorithm type_traits
+algorithm utility
+algorithm version
 any atomic
+any chrono
 any concepts
 any cstddef
+any cstdint
+any cstdlib
 any cstring
 any initializer_list
+any iosfwd
 any iterator
 any limits
 any memory
@@ -24,21 +33,36 @@ any new
 any stdexcept
 any type_traits
 any typeinfo
+any variant
+any version
 array algorithm
 array compare
 array concepts
+array cstddef
 array cstdlib
 array initializer_list
+array iterator
 array limits
 array stdexcept
+array type_traits
+array utility
+array version
 atomic chrono
+atomic cmath
+atomic compare
+atomic cstddef
+atomic cstdint
 atomic cstring
 atomic ctime
 atomic iosfwd
 atomic limits
 atomic ratio
+atomic type_traits
+atomic version
 barrier atomic
 barrier concepts
+barrier cstddef
+barrier cstdint
 barrier cstring
 barrier ctime
 barrier iosfwd
@@ -47,24 +71,35 @@ barrier limits
 barrier memory
 barrier new
 barrier ratio
+barrier stdexcept
 barrier type_traits
+barrier variant
+bit cstdint
 bit cstdlib
 bit iosfwd
 bit limits
 bit type_traits
+bit version
 bitset climits
 bitset concepts
+bitset cstddef
+bitset cstdint
 bitset cstdlib
 bitset cstring
 bitset initializer_list
+bitset iosfwd
 bitset limits
 bitset new
 bitset stdexcept
 bitset string
+bitset type_traits
+bitset version
 ccomplex complex
 charconv cerrno
 charconv cmath
 charconv concepts
+charconv cstddef
+charconv cstdint
 charconv cstdlib
 charconv cstring
 charconv initializer_list
@@ -75,74 +110,120 @@ chrono compare
 chrono ctime
 chrono limits
 chrono ratio
+chrono type_traits
+chrono version
 cinttypes cstdint
 cmath type_traits
+cmath version
 codecvt atomic
 codecvt cctype
 codecvt concepts
+codecvt cstddef
+codecvt cstdint
+codecvt cstdlib
 codecvt cstring
 codecvt initializer_list
+codecvt iosfwd
 codecvt limits
 codecvt mutex
 codecvt new
 codecvt stdexcept
+codecvt string
 codecvt type_traits
 codecvt typeinfo
+codecvt version
 compare cmath
+compare cstddef
+compare cstdint
+compare limits
 compare type_traits
+compare version
 complex cmath
 complex iosfwd
 complex sstream
 complex stdexcept
+complex type_traits
+complex version
+concepts cstddef
 concepts type_traits
+concepts version
 condition_variable atomic
 condition_variable concepts
+condition_variable cstddef
+condition_variable cstdint
+condition_variable cstdlib
 condition_variable cstring
 condition_variable initializer_list
+condition_variable iosfwd
 condition_variable limits
 condition_variable new
+condition_variable ratio
 condition_variable stdexcept
 condition_variable system_error
 condition_variable type_traits
 condition_variable typeinfo
+condition_variable version
 coroutine compare
 coroutine cstddef
+coroutine cstdint
 coroutine cstring
 coroutine iosfwd
 coroutine limits
 coroutine type_traits
+coroutine version
 cstddef version
 ctgmath ccomplex
+ctgmath cmath
 cwchar cwctype
 cwctype cctype
 deque algorithm
 deque atomic
+deque compare
 deque concepts
+deque cstddef
+deque cstdint
 deque cstdlib
 deque cstring
 deque functional
 deque initializer_list
+deque iosfwd
+deque iterator
 deque limits
 deque new
 deque stdexcept
+deque type_traits
 deque typeinfo
+deque version
 exception cstddef
 exception cstdlib
 exception type_traits
+exception version
 execution version
 experimental/algorithm algorithm
 experimental/algorithm cstddef
 experimental/algorithm type_traits
 experimental/coroutine atomic
+experimental/coroutine climits
+experimental/coroutine cmath
+experimental/coroutine compare
 experimental/coroutine concepts
 experimental/coroutine cstddef
+experimental/coroutine cstdint
 experimental/coroutine cstring
+experimental/coroutine ctime
 experimental/coroutine initializer_list
+experimental/coroutine iosfwd
 experimental/coroutine iterator
 experimental/coroutine limits
 experimental/coroutine memory
 experimental/coroutine new
+experimental/coroutine ratio
+experimental/coroutine stdexcept
+experimental/coroutine tuple
 experimental/coroutine type_traits
+experimental/coroutine typeinfo
+experimental/coroutine utility
+experimental/coroutine variant
 experimental/deque deque
 experimental/deque experimental/memory_resource
 experimental/forward_list experimental/memory_resource
@@ -151,6 +232,8 @@ experimental/functional array
 experimental/functional cstddef
 experimental/functional functional
 experimental/functional type_traits
+experimental/functional unordered_map
+experimental/functional vector
 experimental/iterator cstddef
 experimental/iterator iosfwd
 experimental/iterator iterator
@@ -160,16 +243,22 @@ experimental/list list
 experimental/map experimental/memory_resource
 experimental/map map
 experimental/memory_resource atomic
+experimental/memory_resource climits
 experimental/memory_resource concepts
 experimental/memory_resource cstddef
+experimental/memory_resource cstdlib
+experimental/memory_resource cstring
+experimental/memory_resource ctime
 experimental/memory_resource experimental/utility
 experimental/memory_resource iterator
 experimental/memory_resource limits
 experimental/memory_resource memory
 experimental/memory_resource new
+experimental/memory_resource ratio
 experimental/memory_resource stdexcept
 experimental/memory_resource tuple
 experimental/memory_resource type_traits
+experimental/memory_resource variant
 experimental/propagate_const cstddef
 experimental/propagate_const type_traits
 experimental/regex experimental/memory_resource
@@ -177,15 +266,20 @@ experimental/regex experimental/string
 experimental/regex regex
 experimental/set experimental/memory_resource
 experimental/set set
+experimental/simd algorithm
 experimental/simd array
 experimental/simd cstddef
 experimental/simd functional
+experimental/simd tuple
 experimental/string experimental/memory_resource
 experimental/string string
+experimental/unordered_map algorithm
 experimental/unordered_map array
+experimental/unordered_map bit
 experimental/unordered_map experimental/memory_resource
 experimental/unordered_map functional
 experimental/unordered_map unordered_map
+experimental/unordered_map vector
 experimental/unordered_set experimental/memory_resource
 experimental/unordered_set unordered_set
 experimental/utility utility
@@ -195,89 +289,144 @@ ext/hash_map algorithm
 ext/hash_map cmath
 ext/hash_map concepts
 ext/hash_map cstddef
+ext/hash_map cstdint
 ext/hash_map cstring
+ext/hash_map functional
 ext/hash_map initializer_list
+ext/hash_map iterator
 ext/hash_map limits
 ext/hash_map new
+ext/hash_map stdexcept
 ext/hash_map string
 ext/hash_map type_traits
 ext/hash_set algorithm
 ext/hash_set cmath
 ext/hash_set concepts
 ext/hash_set cstddef
+ext/hash_set cstdint
 ext/hash_set cstring
+ext/hash_set functional
 ext/hash_set initializer_list
+ext/hash_set iterator
 ext/hash_set limits
 ext/hash_set new
 ext/hash_set string
 ext/hash_set type_traits
 filesystem cerrno
+filesystem compare
 filesystem concepts
+filesystem cstddef
+filesystem cstdint
+filesystem cstdlib
 filesystem ctime
 filesystem iomanip
+filesystem iosfwd
 filesystem limits
+filesystem locale
+filesystem new
 filesystem ratio
 filesystem string
+filesystem string_view
+filesystem system_error
+filesystem type_traits
+filesystem version
+format array
+format bit
 format charconv
 format concepts
+format cstddef
+format cstdint
 format cstdlib
 format cstring
 format initializer_list
 format limits
 format locale
+format optional
 format stdexcept
 format string
 format string_view
+format type_traits
 format version
 forward_list algorithm
 forward_list atomic
+forward_list compare
 forward_list concepts
 forward_list cstddef
+forward_list cstdint
 forward_list cstdlib
 forward_list cstring
 forward_list functional
 forward_list initializer_list
+forward_list iosfwd
+forward_list iterator
 forward_list limits
 forward_list new
 forward_list stdexcept
 forward_list type_traits
 forward_list typeinfo
+forward_list version
 fstream atomic
 fstream cctype
 fstream concepts
 fstream cstddef
+fstream cstdint
+fstream cstdio
+fstream cstdlib
 fstream cstring
 fstream filesystem
 fstream initializer_list
+fstream iosfwd
 fstream istream
 fstream limits
 fstream mutex
 fstream new
+fstream ostream
 fstream stdexcept
+fstream string
 fstream type_traits
 fstream typeinfo
+fstream version
 functional array
 functional atomic
 functional concepts
+functional cstddef
+functional cstdint
 functional cstdlib
 functional cstring
+functional exception
 functional initializer_list
+functional iosfwd
 functional limits
+functional memory
+functional new
 functional stdexcept
 functional tuple
 functional type_traits
+functional typeinfo
 functional unordered_map
+functional utility
 functional vector
+functional version
+future chrono
+future cstddef
 future exception
 future limits
 future mutex
+future new
 future ratio
+future system_error
 future thread
+future type_traits
+future version
 initializer_list cstddef
 iomanip istream
+iomanip version
 ios atomic
 ios cctype
 ios concepts
+ios cstddef
+ios cstdint
+ios cstdlib
 ios cstring
 ios initializer_list
 ios iosfwd
@@ -285,116 +434,199 @@ ios limits
 ios mutex
 ios new
 ios stdexcept
+ios string
+ios system_error
 ios type_traits
 ios typeinfo
+ios version
 iosfwd version
 iostream ios
 iostream istream
+iostream ostream
+iostream streambuf
 iostream version
 istream concepts
 istream cstddef
 istream iosfwd
 istream ostream
+istream type_traits
+istream version
+iterator compare
 iterator concepts
 iterator cstddef
 iterator cstdlib
+iterator exception
+iterator initializer_list
+iterator iosfwd
 iterator limits
+iterator new
 iterator type_traits
+iterator typeinfo
+iterator utility
 iterator variant
+iterator version
 latch atomic
+latch limits
+latch version
 limits type_traits
+limits version
 list algorithm
 list atomic
+list compare
 list concepts
+list cstddef
+list cstdint
 list cstdlib
 list cstring
 list functional
 list initializer_list
+list iosfwd
+list iterator
 list limits
 list new
 list stdexcept
+list type_traits
 list typeinfo
+list version
 locale atomic
 locale cctype
 locale concepts
 locale cstdarg
+locale cstddef
+locale cstdint
+locale cstdio
 locale cstdlib
 locale cstring
+locale ctime
 locale initializer_list
 locale ios
 locale iosfwd
+locale iterator
 locale limits
 locale mutex
 locale new
 locale stdexcept
 locale streambuf
+locale string
+locale type_traits
 locale typeinfo
+locale version
+map compare
 map concepts
+map cstddef
 map cstdlib
 map functional
 map initializer_list
+map iterator
 map limits
 map new
 map optional
 map stdexcept
+map tuple
+map type_traits
+map utility
+map version
 memory atomic
+memory compare
 memory concepts
 memory cstddef
+memory cstdint
+memory cstdlib
 memory cstring
 memory initializer_list
+memory iosfwd
 memory iterator
 memory limits
 memory new
 memory stdexcept
+memory tuple
 memory type_traits
 memory typeinfo
+memory utility
+memory version
 mutex atomic
 mutex concepts
+mutex cstddef
+mutex cstdint
+mutex cstdlib
 mutex cstring
+mutex functional
 mutex initializer_list
+mutex iosfwd
 mutex limits
 mutex new
+mutex ratio
 mutex stdexcept
 mutex system_error
 mutex type_traits
 mutex typeinfo
+mutex version
 new cstddef
 new cstdlib
 new exception
+new type_traits
+new version
 numbers concepts
+numbers type_traits
+numbers version
 numeric cmath
 numeric concepts
+numeric cstddef
 numeric functional
+numeric iterator
+numeric limits
+numeric type_traits
+numeric version
 optional atomic
 optional chrono
+optional climits
 optional compare
 optional concepts
 optional cstddef
+optional cstdint
 optional cstring
+optional ctime
 optional initializer_list
 optional iterator
 optional limits
 optional memory
 optional new
+optional ratio
 optional stdexcept
+optional tuple
 optional type_traits
+optional typeinfo
+optional utility
+optional variant
+optional version
 ostream bitset
+ostream cstddef
+ostream cstdint
 ostream cstring
 ostream ios
+ostream iterator
 ostream limits
 ostream locale
 ostream new
+ostream streambuf
 ostream type_traits
+ostream version
+queue compare
 queue concepts
 queue cstddef
 queue cstdlib
 queue deque
+queue functional
 queue initializer_list
 queue limits
 queue type_traits
+queue vector
+queue version
+random algorithm
 random climits
 random cmath
 random concepts
+random cstddef
 random cstdint
 random cstdlib
 random initializer_list
@@ -403,87 +635,143 @@ random limits
 random numeric
 random string
 random type_traits
+random vector
+random version
+ranges compare
 ranges concepts
+ranges cstddef
 ranges cstdlib
 ranges initializer_list
+ranges iosfwd
+ranges iterator
 ranges limits
+ranges optional
 ranges span
 ranges tuple
 ranges type_traits
 ranges variant
+ranges version
 ratio climits
 ratio cstdint
 ratio type_traits
+ratio version
 regex atomic
 regex cctype
+regex compare
 regex concepts
+regex cstddef
+regex cstdint
 regex cstdlib
 regex cstring
 regex deque
 regex initializer_list
+regex iosfwd
+regex iterator
 regex limits
 regex mutex
 regex new
 regex stdexcept
+regex string
 regex type_traits
 regex typeinfo
+regex utility
+regex vector
+regex version
 scoped_allocator atomic
+scoped_allocator climits
 scoped_allocator concepts
 scoped_allocator cstddef
+scoped_allocator cstring
+scoped_allocator ctime
 scoped_allocator iterator
 scoped_allocator limits
 scoped_allocator memory
 scoped_allocator new
+scoped_allocator ratio
+scoped_allocator stdexcept
 scoped_allocator tuple
 scoped_allocator type_traits
+scoped_allocator variant
+scoped_allocator version
 semaphore atomic
 semaphore ctime
 semaphore iosfwd
 semaphore limits
 semaphore ratio
+semaphore type_traits
+semaphore version
+set compare
 set concepts
+set cstddef
 set cstdlib
 set functional
 set initializer_list
+set iterator
 set limits
 set new
 set optional
 set stdexcept
+set type_traits
+set version
 shared_mutex version
 span array
 span concepts
 span cstddef
 span functional
 span initializer_list
+span iterator
 span limits
 span type_traits
+span version
+sstream cstddef
 sstream istream
+sstream ostream
+sstream string
 sstream type_traits
+sstream version
+stack compare
 stack concepts
+stack cstddef
 stack deque
+stack functional
+stack initializer_list
+stack type_traits
+stack version
 stdexcept cstdlib
 stdexcept exception
 stdexcept iosfwd
 streambuf cstdint
 streambuf ios
+streambuf iosfwd
+streambuf version
+string algorithm
 string climits
+string compare
 string concepts
 string cstddef
+string cstdint
 string cstdio
 string cstdlib
 string cstring
 string cwchar
+string functional
 string initializer_list
 string iosfwd
+string iterator
 string limits
 string new
 string stdexcept
 string string_view
 string type_traits
+string typeinfo
+string utility
+string vector
+string version
 string_view algorithm
 string_view compare
 string_view concepts
 string_view cstddef
+string_view cstdint
 string_view cstdio
 string_view cstdlib
 string_view cstring
@@ -491,65 +779,96 @@ string_view cwchar
 string_view functional
 string_view initializer_list
 string_view iosfwd
+string_view iterator
 string_view limits
 string_view stdexcept
 string_view type_traits
+string_view version
 strstream istream
+strstream ostream
+strstream version
 system_error cerrno
+system_error compare
 system_error cstddef
+system_error cstdint
 system_error cstring
 system_error limits
 system_error stdexcept
 system_error string
 system_error type_traits
+system_error version
+thread chrono
+thread compare
 thread cstddef
+thread cstdint
 thread cstring
 thread ctime
+thread functional
 thread iosfwd
 thread limits
 thread new
 thread ratio
 thread system_error
+thread tuple
 thread type_traits
+thread version
 tuple compare
+tuple cstddef
 tuple exception
 tuple iosfwd
 tuple new
 tuple type_traits
 tuple typeinfo
 tuple utility
+tuple version
 type_traits cstddef
 type_traits cstdint
+type_traits version
 typeindex compare
 typeindex iosfwd
 typeindex new
 typeindex typeinfo
 typeindex utility
+typeindex version
 typeinfo cstddef
 typeinfo cstdint
+typeinfo cstdlib
 typeinfo exception
+typeinfo type_traits
 unordered_map algorithm
+unordered_map bit
 unordered_map cmath
+unordered_map compare
 unordered_map concepts
+unordered_map cstddef
+unordered_map cstdint
 unordered_map cstdlib
 unordered_map cstring
 unordered_map initializer_list
+unordered_map iterator
 unordered_map limits
 unordered_map new
 unordered_map optional
 unordered_map stdexcept
+unordered_map tuple
 unordered_map type_traits
+unordered_map version
 unordered_set cmath
+unordered_set compare
 unordered_set concepts
+unordered_set cstddef
+unordered_set cstdint
 unordered_set cstdlib
 unordered_set cstring
 unordered_set functional
 unordered_set initializer_list
+unordered_set iterator
 unordered_set limits
 unordered_set new
 unordered_set optional
 unordered_set stdexcept
 unordered_set type_traits
+unordered_set version
 utility compare
 utility cstddef
 utility cstdlib
@@ -557,9 +876,11 @@ utility initializer_list
 utility iosfwd
 utility limits
 utility type_traits
+utility version
 valarray algorithm
 valarray cmath
 valarray concepts
+valarray cstddef
 valarray cstdlib
 valarray cstring
 valarray functional
@@ -567,6 +888,11 @@ valarray initializer_list
 valarray limits
 valarray new
 valarray stdexcept
+valarray type_traits
+valarray version
+variant compare
+variant cstddef
+variant cstdint
 variant cstring
 variant exception
 variant initializer_list
@@ -574,13 +900,24 @@ variant limits
 variant new
 variant tuple
 variant type_traits
+variant typeinfo
+variant utility
+variant version
 vector algorithm
 vector atomic
+vector climits
+vector compare
 vector concepts
+vector cstddef
+vector cstdint
 vector cstdlib
 vector cstring
 vector initializer_list
+vector iosfwd
 vector limits
 vector new
 vector stdexcept
+vector type_traits
 vector typeinfo
+vector utility
+vector version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx11.csv b/libcxx/test/libcxx/transitive_includes/cxx11.csv
index a13f23547582..e416b4ac1ba0 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx11.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx11.csv
@@ -4,19 +4,28 @@ algorithm chrono
 algorithm climits
 algorithm concepts
 algorithm cstddef
+algorithm cstdint
 algorithm cstdlib
 algorithm cstring
 algorithm initializer_list
+algorithm iosfwd
 algorithm iterator
 algorithm limits
 algorithm memory
 algorithm new
+algorithm stdexcept
 algorithm type_traits
+algorithm utility
+algorithm version
 any atomic
+any chrono
 any concepts
 any cstddef
+any cstdint
+any cstdlib
 any cstring
 any initializer_list
+any iosfwd
 any iterator
 any limits
 any memory
@@ -24,21 +33,36 @@ any new
 any stdexcept
 any type_traits
 any typeinfo
+any variant
+any version
 array algorithm
 array compare
 array concepts
+array cstddef
 array cstdlib
 array initializer_list
+array iterator
 array limits
 array stdexcept
+array type_traits
+array utility
+array version
 atomic chrono
+atomic cmath
+atomic compare
+atomic cstddef
+atomic cstdint
 atomic cstring
 atomic ctime
 atomic iosfwd
 atomic limits
 atomic ratio
+atomic type_traits
+atomic version
 barrier atomic
 barrier concepts
+barrier cstddef
+barrier cstdint
 barrier cstring
 barrier ctime
 barrier iosfwd
@@ -47,24 +71,35 @@ barrier limits
 barrier memory
 barrier new
 barrier ratio
+barrier stdexcept
 barrier type_traits
+barrier variant
+bit cstdint
 bit cstdlib
 bit iosfwd
 bit limits
 bit type_traits
+bit version
 bitset climits
 bitset concepts
+bitset cstddef
+bitset cstdint
 bitset cstdlib
 bitset cstring
 bitset initializer_list
+bitset iosfwd
 bitset limits
 bitset new
 bitset stdexcept
 bitset string
+bitset type_traits
+bitset version
 ccomplex complex
 charconv cerrno
 charconv cmath
 charconv concepts
+charconv cstddef
+charconv cstdint
 charconv cstdlib
 charconv cstring
 charconv initializer_list
@@ -75,74 +110,120 @@ chrono compare
 chrono ctime
 chrono limits
 chrono ratio
+chrono type_traits
+chrono version
 cinttypes cstdint
 cmath type_traits
+cmath version
 codecvt atomic
 codecvt cctype
 codecvt concepts
+codecvt cstddef
+codecvt cstdint
+codecvt cstdlib
 codecvt cstring
 codecvt initializer_list
+codecvt iosfwd
 codecvt limits
 codecvt mutex
 codecvt new
 codecvt stdexcept
+codecvt string
 codecvt type_traits
 codecvt typeinfo
+codecvt version
 compare cmath
+compare cstddef
+compare cstdint
+compare limits
 compare type_traits
+compare version
 complex cmath
 complex iosfwd
 complex sstream
 complex stdexcept
+complex type_traits
+complex version
+concepts cstddef
 concepts type_traits
+concepts version
 condition_variable atomic
 condition_variable concepts
+condition_variable cstddef
+condition_variable cstdint
+condition_variable cstdlib
 condition_variable cstring
 condition_variable initializer_list
+condition_variable iosfwd
 condition_variable limits
 condition_variable new
+condition_variable ratio
 condition_variable stdexcept
 condition_variable system_error
 condition_variable type_traits
 condition_variable typeinfo
+condition_variable version
 coroutine compare
 coroutine cstddef
+coroutine cstdint
 coroutine cstring
 coroutine iosfwd
 coroutine limits
 coroutine type_traits
+coroutine version
 cstddef version
 ctgmath ccomplex
+ctgmath cmath
 cwchar cwctype
 cwctype cctype
 deque algorithm
 deque atomic
+deque compare
 deque concepts
+deque cstddef
+deque cstdint
 deque cstdlib
 deque cstring
 deque functional
 deque initializer_list
+deque iosfwd
+deque iterator
 deque limits
 deque new
 deque stdexcept
+deque type_traits
 deque typeinfo
+deque version
 exception cstddef
 exception cstdlib
 exception type_traits
+exception version
 execution version
 experimental/algorithm algorithm
 experimental/algorithm cstddef
 experimental/algorithm type_traits
 experimental/coroutine atomic
+experimental/coroutine climits
+experimental/coroutine cmath
+experimental/coroutine compare
 experimental/coroutine concepts
 experimental/coroutine cstddef
+experimental/coroutine cstdint
 experimental/coroutine cstring
+experimental/coroutine ctime
 experimental/coroutine initializer_list
+experimental/coroutine iosfwd
 experimental/coroutine iterator
 experimental/coroutine limits
 experimental/coroutine memory
 experimental/coroutine new
+experimental/coroutine ratio
+experimental/coroutine stdexcept
+experimental/coroutine tuple
 experimental/coroutine type_traits
+experimental/coroutine typeinfo
+experimental/coroutine utility
+experimental/coroutine variant
 experimental/deque deque
 experimental/deque experimental/memory_resource
 experimental/forward_list experimental/memory_resource
@@ -151,6 +232,8 @@ experimental/functional array
 experimental/functional cstddef
 experimental/functional functional
 experimental/functional type_traits
+experimental/functional unordered_map
+experimental/functional vector
 experimental/iterator cstddef
 experimental/iterator iosfwd
 experimental/iterator iterator
@@ -160,16 +243,22 @@ experimental/list list
 experimental/map experimental/memory_resource
 experimental/map map
 experimental/memory_resource atomic
+experimental/memory_resource climits
 experimental/memory_resource concepts
 experimental/memory_resource cstddef
+experimental/memory_resource cstdlib
+experimental/memory_resource cstring
+experimental/memory_resource ctime
 experimental/memory_resource experimental/utility
 experimental/memory_resource iterator
 experimental/memory_resource limits
 experimental/memory_resource memory
 experimental/memory_resource new
+experimental/memory_resource ratio
 experimental/memory_resource stdexcept
 experimental/memory_resource tuple
 experimental/memory_resource type_traits
+experimental/memory_resource variant
 experimental/propagate_const cstddef
 experimental/propagate_const type_traits
 experimental/regex experimental/memory_resource
@@ -177,15 +266,20 @@ experimental/regex experimental/string
 experimental/regex regex
 experimental/set experimental/memory_resource
 experimental/set set
+experimental/simd algorithm
 experimental/simd array
 experimental/simd cstddef
 experimental/simd functional
+experimental/simd tuple
 experimental/string experimental/memory_resource
 experimental/string string
+experimental/unordered_map algorithm
 experimental/unordered_map array
+experimental/unordered_map bit
 experimental/unordered_map experimental/memory_resource
 experimental/unordered_map functional
 experimental/unordered_map unordered_map
+experimental/unordered_map vector
 experimental/unordered_set experimental/memory_resource
 experimental/unordered_set unordered_set
 experimental/utility utility
@@ -195,89 +289,144 @@ ext/hash_map algorithm
 ext/hash_map cmath
 ext/hash_map concepts
 ext/hash_map cstddef
+ext/hash_map cstdint
 ext/hash_map cstring
+ext/hash_map functional
 ext/hash_map initializer_list
+ext/hash_map iterator
 ext/hash_map limits
 ext/hash_map new
+ext/hash_map stdexcept
 ext/hash_map string
 ext/hash_map type_traits
 ext/hash_set algorithm
 ext/hash_set cmath
 ext/hash_set concepts
 ext/hash_set cstddef
+ext/hash_set cstdint
 ext/hash_set cstring
+ext/hash_set functional
 ext/hash_set initializer_list
+ext/hash_set iterator
 ext/hash_set limits
 ext/hash_set new
 ext/hash_set string
 ext/hash_set type_traits
 filesystem cerrno
+filesystem compare
 filesystem concepts
+filesystem cstddef
+filesystem cstdint
+filesystem cstdlib
 filesystem ctime
 filesystem iomanip
+filesystem iosfwd
 filesystem limits
+filesystem locale
+filesystem new
 filesystem ratio
 filesystem string
+filesystem string_view
+filesystem system_error
+filesystem type_traits
+filesystem version
+format array
+format bit
 format charconv
 format concepts
+format cstddef
+format cstdint
 format cstdlib
 format cstring
 format initializer_list
 format limits
 format locale
+format optional
 format stdexcept
 format string
 format string_view
+format type_traits
 format version
 forward_list algorithm
 forward_list atomic
+forward_list compare
 forward_list concepts
 forward_list cstddef
+forward_list cstdint
 forward_list cstdlib
 forward_list cstring
 forward_list functional
 forward_list initializer_list
+forward_list iosfwd
+forward_list iterator
 forward_list limits
 forward_list new
 forward_list stdexcept
 forward_list type_traits
 forward_list typeinfo
+forward_list version
 fstream atomic
 fstream cctype
 fstream concepts
 fstream cstddef
+fstream cstdint
+fstream cstdio
+fstream cstdlib
 fstream cstring
 fstream filesystem
 fstream initializer_list
+fstream iosfwd
 fstream istream
 fstream limits
 fstream mutex
 fstream new
+fstream ostream
 fstream stdexcept
+fstream string
 fstream type_traits
 fstream typeinfo
+fstream version
 functional array
 functional atomic
 functional concepts
+functional cstddef
+functional cstdint
 functional cstdlib
 functional cstring
+functional exception
 functional initializer_list
+functional iosfwd
 functional limits
+functional memory
+functional new
 functional stdexcept
 functional tuple
 functional type_traits
+functional typeinfo
 functional unordered_map
+functional utility
 functional vector
+functional version
+future chrono
+future cstddef
 future exception
 future limits
 future mutex
+future new
 future ratio
+future system_error
 future thread
+future type_traits
+future version
 initializer_list cstddef
 iomanip istream
+iomanip version
 ios atomic
 ios cctype
 ios concepts
+ios cstddef
+ios cstdint
+ios cstdlib
 ios cstring
 ios initializer_list
 ios iosfwd
@@ -285,116 +434,200 @@ ios limits
 ios mutex
 ios new
 ios stdexcept
+ios string
+ios system_error
 ios type_traits
 ios typeinfo
+ios version
 iosfwd version
 iostream ios
 iostream istream
+iostream ostream
+iostream streambuf
 iostream version
 istream concepts
 istream cstddef
 istream iosfwd
 istream ostream
+istream type_traits
+istream version
+iterator compare
 iterator concepts
 iterator cstddef
 iterator cstdlib
+iterator exception
+iterator initializer_list
+iterator iosfwd
 iterator limits
+iterator new
 iterator type_traits
+iterator typeinfo
+iterator utility
 iterator variant
+iterator version
 latch atomic
+latch limits
+latch version
 limits type_traits
+limits version
 list algorithm
 list atomic
+list compare
 list concepts
+list cstddef
+list cstdint
 list cstdlib
 list cstring
 list functional
 list initializer_list
+list iosfwd
+list iterator
 list limits
 list new
 list stdexcept
+list type_traits
 list typeinfo
+list version
 locale atomic
 locale cctype
 locale concepts
 locale cstdarg
+locale cstddef
+locale cstdint
+locale cstdio
 locale cstdlib
 locale cstring
+locale ctime
 locale initializer_list
 locale ios
 locale iosfwd
+locale iterator
 locale limits
 locale mutex
 locale new
 locale stdexcept
 locale streambuf
+locale string
+locale type_traits
 locale typeinfo
+locale version
+map compare
 map concepts
+map cstddef
 map cstdlib
 map functional
 map initializer_list
+map iterator
 map limits
 map new
 map optional
 map stdexcept
+map tuple
+map type_traits
+map utility
+map version
 memory atomic
+memory compare
 memory concepts
 memory cstddef
+memory cstdint
+memory cstdlib
 memory cstring
 memory initializer_list
+memory iosfwd
 memory iterator
 memory limits
 memory new
 memory stdexcept
+memory tuple
 memory type_traits
 memory typeinfo
+memory utility
+memory version
 mutex atomic
 mutex concepts
+mutex cstddef
+mutex cstdint
+mutex cstdlib
 mutex cstring
+mutex functional
 mutex initializer_list
+mutex iosfwd
 mutex limits
 mutex new
+mutex ratio
 mutex stdexcept
 mutex system_error
+mutex tuple
 mutex type_traits
 mutex typeinfo
+mutex version
 new cstddef
 new cstdlib
 new exception
+new type_traits
+new version
 numbers concepts
+numbers type_traits
+numbers version
 numeric cmath
 numeric concepts
+numeric cstddef
 numeric functional
+numeric iterator
+numeric limits
+numeric type_traits
+numeric version
 optional atomic
 optional chrono
+optional climits
 optional compare
 optional concepts
 optional cstddef
+optional cstdint
 optional cstring
+optional ctime
 optional initializer_list
 optional iterator
 optional limits
 optional memory
 optional new
+optional ratio
 optional stdexcept
+optional tuple
 optional type_traits
+optional typeinfo
+optional utility
+optional variant
+optional version
 ostream bitset
+ostream cstddef
+ostream cstdint
 ostream cstring
 ostream ios
+ostream iterator
 ostream limits
 ostream locale
 ostream new
+ostream streambuf
 ostream type_traits
+ostream version
+queue compare
 queue concepts
 queue cstddef
 queue cstdlib
 queue deque
+queue functional
 queue initializer_list
 queue limits
 queue type_traits
+queue vector
+queue version
+random algorithm
 random climits
 random cmath
 random concepts
+random cstddef
 random cstdint
 random cstdlib
 random initializer_list
@@ -403,87 +636,143 @@ random limits
 random numeric
 random string
 random type_traits
+random vector
+random version
+ranges compare
 ranges concepts
+ranges cstddef
 ranges cstdlib
 ranges initializer_list
+ranges iosfwd
+ranges iterator
 ranges limits
+ranges optional
 ranges span
 ranges tuple
 ranges type_traits
 ranges variant
+ranges version
 ratio climits
 ratio cstdint
 ratio type_traits
+ratio version
 regex atomic
 regex cctype
+regex compare
 regex concepts
+regex cstddef
+regex cstdint
 regex cstdlib
 regex cstring
 regex deque
 regex initializer_list
+regex iosfwd
+regex iterator
 regex limits
 regex mutex
 regex new
 regex stdexcept
+regex string
 regex type_traits
 regex typeinfo
+regex utility
+regex vector
+regex version
 scoped_allocator atomic
+scoped_allocator climits
 scoped_allocator concepts
 scoped_allocator cstddef
+scoped_allocator cstring
+scoped_allocator ctime
 scoped_allocator iterator
 scoped_allocator limits
 scoped_allocator memory
 scoped_allocator new
+scoped_allocator ratio
+scoped_allocator stdexcept
 scoped_allocator tuple
 scoped_allocator type_traits
+scoped_allocator variant
+scoped_allocator version
 semaphore atomic
 semaphore ctime
 semaphore iosfwd
 semaphore limits
 semaphore ratio
+semaphore type_traits
+semaphore version
+set compare
 set concepts
+set cstddef
 set cstdlib
 set functional
 set initializer_list
+set iterator
 set limits
 set new
 set optional
 set stdexcept
+set type_traits
+set version
 shared_mutex version
 span array
 span concepts
 span cstddef
 span functional
 span initializer_list
+span iterator
 span limits
 span type_traits
+span version
+sstream cstddef
 sstream istream
+sstream ostream
+sstream string
 sstream type_traits
+sstream version
+stack compare
 stack concepts
+stack cstddef
 stack deque
+stack functional
+stack initializer_list
+stack type_traits
+stack version
 stdexcept cstdlib
 stdexcept exception
 stdexcept iosfwd
 streambuf cstdint
 streambuf ios
+streambuf iosfwd
+streambuf version
+string algorithm
 string climits
+string compare
 string concepts
 string cstddef
+string cstdint
 string cstdio
 string cstdlib
 string cstring
 string cwchar
+string functional
 string initializer_list
 string iosfwd
+string iterator
 string limits
 string new
 string stdexcept
 string string_view
 string type_traits
+string typeinfo
+string utility
+string vector
+string version
 string_view algorithm
 string_view compare
 string_view concepts
 string_view cstddef
+string_view cstdint
 string_view cstdio
 string_view cstdlib
 string_view cstring
@@ -491,65 +780,96 @@ string_view cwchar
 string_view functional
 string_view initializer_list
 string_view iosfwd
+string_view iterator
 string_view limits
 string_view stdexcept
 string_view type_traits
+string_view version
 strstream istream
+strstream ostream
+strstream version
 system_error cerrno
+system_error compare
 system_error cstddef
+system_error cstdint
 system_error cstring
 system_error limits
 system_error stdexcept
 system_error string
 system_error type_traits
+system_error version
+thread chrono
+thread compare
 thread cstddef
+thread cstdint
 thread cstring
 thread ctime
+thread functional
 thread iosfwd
 thread limits
 thread new
 thread ratio
 thread system_error
+thread tuple
 thread type_traits
+thread version
 tuple compare
+tuple cstddef
 tuple exception
 tuple iosfwd
 tuple new
 tuple type_traits
 tuple typeinfo
 tuple utility
+tuple version
 type_traits cstddef
 type_traits cstdint
+type_traits version
 typeindex compare
 typeindex iosfwd
 typeindex new
 typeindex typeinfo
 typeindex utility
+typeindex version
 typeinfo cstddef
 typeinfo cstdint
+typeinfo cstdlib
 typeinfo exception
+typeinfo type_traits
 unordered_map algorithm
+unordered_map bit
 unordered_map cmath
+unordered_map compare
 unordered_map concepts
+unordered_map cstddef
+unordered_map cstdint
 unordered_map cstdlib
 unordered_map cstring
 unordered_map initializer_list
+unordered_map iterator
 unordered_map limits
 unordered_map new
 unordered_map optional
 unordered_map stdexcept
+unordered_map tuple
 unordered_map type_traits
+unordered_map version
 unordered_set cmath
+unordered_set compare
 unordered_set concepts
+unordered_set cstddef
+unordered_set cstdint
 unordered_set cstdlib
 unordered_set cstring
 unordered_set functional
 unordered_set initializer_list
+unordered_set iterator
 unordered_set limits
 unordered_set new
 unordered_set optional
 unordered_set stdexcept
 unordered_set type_traits
+unordered_set version
 utility compare
 utility cstddef
 utility cstdlib
@@ -557,9 +877,11 @@ utility initializer_list
 utility iosfwd
 utility limits
 utility type_traits
+utility version
 valarray algorithm
 valarray cmath
 valarray concepts
+valarray cstddef
 valarray cstdlib
 valarray cstring
 valarray functional
@@ -567,6 +889,11 @@ valarray initializer_list
 valarray limits
 valarray new
 valarray stdexcept
+valarray type_traits
+valarray version
+variant compare
+variant cstddef
+variant cstdint
 variant cstring
 variant exception
 variant initializer_list
@@ -574,13 +901,24 @@ variant limits
 variant new
 variant tuple
 variant type_traits
+variant typeinfo
+variant utility
+variant version
 vector algorithm
 vector atomic
+vector climits
+vector compare
 vector concepts
+vector cstddef
+vector cstdint
 vector cstdlib
 vector cstring
 vector initializer_list
+vector iosfwd
 vector limits
 vector new
 vector stdexcept
+vector type_traits
 vector typeinfo
+vector utility
+vector version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx14.csv b/libcxx/test/libcxx/transitive_includes/cxx14.csv
index 3b2c1414e547..69a11ec96b84 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx14.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx14.csv
@@ -4,19 +4,28 @@ algorithm chrono
 algorithm climits
 algorithm concepts
 algorithm cstddef
+algorithm cstdint
 algorithm cstdlib
 algorithm cstring
 algorithm initializer_list
+algorithm iosfwd
 algorithm iterator
 algorithm limits
 algorithm memory
 algorithm new
+algorithm stdexcept
 algorithm type_traits
+algorithm utility
+algorithm version
 any atomic
+any chrono
 any concepts
 any cstddef
+any cstdint
+any cstdlib
 any cstring
 any initializer_list
+any iosfwd
 any iterator
 any limits
 any memory
@@ -24,21 +33,36 @@ any new
 any stdexcept
 any type_traits
 any typeinfo
+any variant
+any version
 array algorithm
 array compare
 array concepts
+array cstddef
 array cstdlib
 array initializer_list
+array iterator
 array limits
 array stdexcept
+array type_traits
+array utility
+array version
 atomic chrono
+atomic cmath
+atomic compare
+atomic cstddef
+atomic cstdint
 atomic cstring
 atomic ctime
 atomic iosfwd
 atomic limits
 atomic ratio
+atomic type_traits
+atomic version
 barrier atomic
 barrier concepts
+barrier cstddef
+barrier cstdint
 barrier cstring
 barrier ctime
 barrier iosfwd
@@ -47,24 +71,35 @@ barrier limits
 barrier memory
 barrier new
 barrier ratio
+barrier stdexcept
 barrier type_traits
+barrier variant
+bit cstdint
 bit cstdlib
 bit iosfwd
 bit limits
 bit type_traits
+bit version
 bitset climits
 bitset concepts
+bitset cstddef
+bitset cstdint
 bitset cstdlib
 bitset cstring
 bitset initializer_list
+bitset iosfwd
 bitset limits
 bitset new
 bitset stdexcept
 bitset string
+bitset type_traits
+bitset version
 ccomplex complex
 charconv cerrno
 charconv cmath
 charconv concepts
+charconv cstddef
+charconv cstdint
 charconv cstdlib
 charconv cstring
 charconv initializer_list
@@ -75,74 +110,120 @@ chrono compare
 chrono ctime
 chrono limits
 chrono ratio
+chrono type_traits
+chrono version
 cinttypes cstdint
 cmath type_traits
+cmath version
 codecvt atomic
 codecvt cctype
 codecvt concepts
+codecvt cstddef
+codecvt cstdint
+codecvt cstdlib
 codecvt cstring
 codecvt initializer_list
+codecvt iosfwd
 codecvt limits
 codecvt mutex
 codecvt new
 codecvt stdexcept
+codecvt string
 codecvt type_traits
 codecvt typeinfo
+codecvt version
 compare cmath
+compare cstddef
+compare cstdint
+compare limits
 compare type_traits
+compare version
 complex cmath
 complex iosfwd
 complex sstream
 complex stdexcept
+complex type_traits
+complex version
+concepts cstddef
 concepts type_traits
+concepts version
 condition_variable atomic
 condition_variable concepts
+condition_variable cstddef
+condition_variable cstdint
+condition_variable cstdlib
 condition_variable cstring
 condition_variable initializer_list
+condition_variable iosfwd
 condition_variable limits
 condition_variable new
+condition_variable ratio
 condition_variable stdexcept
 condition_variable system_error
 condition_variable type_traits
 condition_variable typeinfo
+condition_variable version
 coroutine compare
 coroutine cstddef
+coroutine cstdint
 coroutine cstring
 coroutine iosfwd
 coroutine limits
 coroutine type_traits
+coroutine version
 cstddef version
 ctgmath ccomplex
+ctgmath cmath
 cwchar cwctype
 cwctype cctype
 deque algorithm
 deque atomic
+deque compare
 deque concepts
+deque cstddef
+deque cstdint
 deque cstdlib
 deque cstring
 deque functional
 deque initializer_list
+deque iosfwd
+deque iterator
 deque limits
 deque new
 deque stdexcept
+deque type_traits
 deque typeinfo
+deque version
 exception cstddef
 exception cstdlib
 exception type_traits
+exception version
 execution version
 experimental/algorithm algorithm
 experimental/algorithm cstddef
 experimental/algorithm type_traits
 experimental/coroutine atomic
+experimental/coroutine climits
+experimental/coroutine cmath
+experimental/coroutine compare
 experimental/coroutine concepts
 experimental/coroutine cstddef
+experimental/coroutine cstdint
 experimental/coroutine cstring
+experimental/coroutine ctime
 experimental/coroutine initializer_list
+experimental/coroutine iosfwd
 experimental/coroutine iterator
 experimental/coroutine limits
 experimental/coroutine memory
 experimental/coroutine new
+experimental/coroutine ratio
+experimental/coroutine stdexcept
+experimental/coroutine tuple
 experimental/coroutine type_traits
+experimental/coroutine typeinfo
+experimental/coroutine utility
+experimental/coroutine variant
 experimental/deque deque
 experimental/deque experimental/memory_resource
 experimental/forward_list experimental/memory_resource
@@ -151,6 +232,8 @@ experimental/functional array
 experimental/functional cstddef
 experimental/functional functional
 experimental/functional type_traits
+experimental/functional unordered_map
+experimental/functional vector
 experimental/iterator cstddef
 experimental/iterator iosfwd
 experimental/iterator iterator
@@ -160,16 +243,22 @@ experimental/list list
 experimental/map experimental/memory_resource
 experimental/map map
 experimental/memory_resource atomic
+experimental/memory_resource climits
 experimental/memory_resource concepts
 experimental/memory_resource cstddef
+experimental/memory_resource cstdlib
+experimental/memory_resource cstring
+experimental/memory_resource ctime
 experimental/memory_resource experimental/utility
 experimental/memory_resource iterator
 experimental/memory_resource limits
 experimental/memory_resource memory
 experimental/memory_resource new
+experimental/memory_resource ratio
 experimental/memory_resource stdexcept
 experimental/memory_resource tuple
 experimental/memory_resource type_traits
+experimental/memory_resource variant
 experimental/propagate_const cstddef
 experimental/propagate_const type_traits
 experimental/regex experimental/memory_resource
@@ -177,17 +266,22 @@ experimental/regex experimental/string
 experimental/regex regex
 experimental/set experimental/memory_resource
 experimental/set set
+experimental/simd algorithm
 experimental/simd array
 experimental/simd cstddef
 experimental/simd functional
+experimental/simd tuple
 experimental/string experimental/memory_resource
 experimental/string string
 experimental/type_traits initializer_list
 experimental/type_traits type_traits
+experimental/unordered_map algorithm
 experimental/unordered_map array
+experimental/unordered_map bit
 experimental/unordered_map experimental/memory_resource
 experimental/unordered_map functional
 experimental/unordered_map unordered_map
+experimental/unordered_map vector
 experimental/unordered_set experimental/memory_resource
 experimental/unordered_set unordered_set
 experimental/utility utility
@@ -197,89 +291,144 @@ ext/hash_map algorithm
 ext/hash_map cmath
 ext/hash_map concepts
 ext/hash_map cstddef
+ext/hash_map cstdint
 ext/hash_map cstring
+ext/hash_map functional
 ext/hash_map initializer_list
+ext/hash_map iterator
 ext/hash_map limits
 ext/hash_map new
+ext/hash_map stdexcept
 ext/hash_map string
 ext/hash_map type_traits
 ext/hash_set algorithm
 ext/hash_set cmath
 ext/hash_set concepts
 ext/hash_set cstddef
+ext/hash_set cstdint
 ext/hash_set cstring
+ext/hash_set functional
 ext/hash_set initializer_list
+ext/hash_set iterator
 ext/hash_set limits
 ext/hash_set new
 ext/hash_set string
 ext/hash_set type_traits
 filesystem cerrno
+filesystem compare
 filesystem concepts
+filesystem cstddef
+filesystem cstdint
+filesystem cstdlib
 filesystem ctime
 filesystem iomanip
+filesystem iosfwd
 filesystem limits
+filesystem locale
+filesystem new
 filesystem ratio
 filesystem string
+filesystem string_view
+filesystem system_error
+filesystem type_traits
+filesystem version
+format array
+format bit
 format charconv
 format concepts
+format cstddef
+format cstdint
 format cstdlib
 format cstring
 format initializer_list
 format limits
 format locale
+format optional
 format stdexcept
 format string
 format string_view
+format type_traits
 format version
 forward_list algorithm
 forward_list atomic
+forward_list compare
 forward_list concepts
 forward_list cstddef
+forward_list cstdint
 forward_list cstdlib
 forward_list cstring
 forward_list functional
 forward_list initializer_list
+forward_list iosfwd
+forward_list iterator
 forward_list limits
 forward_list new
 forward_list stdexcept
 forward_list type_traits
 forward_list typeinfo
+forward_list version
 fstream atomic
 fstream cctype
 fstream concepts
 fstream cstddef
+fstream cstdint
+fstream cstdio
+fstream cstdlib
 fstream cstring
 fstream filesystem
 fstream initializer_list
+fstream iosfwd
 fstream istream
 fstream limits
 fstream mutex
 fstream new
+fstream ostream
 fstream stdexcept
+fstream string
 fstream type_traits
 fstream typeinfo
+fstream version
 functional array
 functional atomic
 functional concepts
+functional cstddef
+functional cstdint
 functional cstdlib
 functional cstring
+functional exception
 functional initializer_list
+functional iosfwd
 functional limits
+functional memory
+functional new
 functional stdexcept
 functional tuple
 functional type_traits
+functional typeinfo
 functional unordered_map
+functional utility
 functional vector
+functional version
+future chrono
+future cstddef
 future exception
 future limits
 future mutex
+future new
 future ratio
+future system_error
 future thread
+future type_traits
+future version
 initializer_list cstddef
 iomanip istream
+iomanip version
 ios atomic
 ios cctype
 ios concepts
+ios cstddef
+ios cstdint
+ios cstdlib
 ios cstring
 ios initializer_list
 ios iosfwd
@@ -287,116 +436,200 @@ ios limits
 ios mutex
 ios new
 ios stdexcept
+ios string
+ios system_error
 ios type_traits
 ios typeinfo
+ios version
 iosfwd version
 iostream ios
 iostream istream
+iostream ostream
+iostream streambuf
 iostream version
 istream concepts
 istream cstddef
 istream iosfwd
 istream ostream
+istream type_traits
+istream version
+iterator compare
 iterator concepts
 iterator cstddef
 iterator cstdlib
+iterator exception
+iterator initializer_list
+iterator iosfwd
 iterator limits
+iterator new
 iterator type_traits
+iterator typeinfo
+iterator utility
 iterator variant
+iterator version
 latch atomic
+latch limits
+latch version
 limits type_traits
+limits version
 list algorithm
 list atomic
+list compare
 list concepts
+list cstddef
+list cstdint
 list cstdlib
 list cstring
 list functional
 list initializer_list
+list iosfwd
+list iterator
 list limits
 list new
 list stdexcept
+list type_traits
 list typeinfo
+list version
 locale atomic
 locale cctype
 locale concepts
 locale cstdarg
+locale cstddef
+locale cstdint
+locale cstdio
 locale cstdlib
 locale cstring
+locale ctime
 locale initializer_list
 locale ios
 locale iosfwd
+locale iterator
 locale limits
 locale mutex
 locale new
 locale stdexcept
 locale streambuf
+locale string
+locale type_traits
 locale typeinfo
+locale version
+map compare
 map concepts
+map cstddef
 map cstdlib
 map functional
 map initializer_list
+map iterator
 map limits
 map new
 map optional
 map stdexcept
+map tuple
+map type_traits
+map utility
+map version
 memory atomic
+memory compare
 memory concepts
 memory cstddef
+memory cstdint
+memory cstdlib
 memory cstring
 memory initializer_list
+memory iosfwd
 memory iterator
 memory limits
 memory new
 memory stdexcept
+memory tuple
 memory type_traits
 memory typeinfo
+memory utility
+memory version
 mutex atomic
 mutex concepts
+mutex cstddef
+mutex cstdint
+mutex cstdlib
 mutex cstring
+mutex functional
 mutex initializer_list
+mutex iosfwd
 mutex limits
 mutex new
+mutex ratio
 mutex stdexcept
 mutex system_error
+mutex tuple
 mutex type_traits
 mutex typeinfo
+mutex version
 new cstddef
 new cstdlib
 new exception
+new type_traits
+new version
 numbers concepts
+numbers type_traits
+numbers version
 numeric cmath
 numeric concepts
+numeric cstddef
 numeric functional
+numeric iterator
+numeric limits
+numeric type_traits
+numeric version
 optional atomic
 optional chrono
+optional climits
 optional compare
 optional concepts
 optional cstddef
+optional cstdint
 optional cstring
+optional ctime
 optional initializer_list
 optional iterator
 optional limits
 optional memory
 optional new
+optional ratio
 optional stdexcept
+optional tuple
 optional type_traits
+optional typeinfo
+optional utility
+optional variant
+optional version
 ostream bitset
+ostream cstddef
+ostream cstdint
 ostream cstring
 ostream ios
+ostream iterator
 ostream limits
 ostream locale
 ostream new
+ostream streambuf
 ostream type_traits
+ostream version
+queue compare
 queue concepts
 queue cstddef
 queue cstdlib
 queue deque
+queue functional
 queue initializer_list
 queue limits
 queue type_traits
+queue vector
+queue version
+random algorithm
 random climits
 random cmath
 random concepts
+random cstddef
 random cstdint
 random cstdlib
 random initializer_list
@@ -405,87 +638,143 @@ random limits
 random numeric
 random string
 random type_traits
+random vector
+random version
+ranges compare
 ranges concepts
+ranges cstddef
 ranges cstdlib
 ranges initializer_list
+ranges iosfwd
+ranges iterator
 ranges limits
+ranges optional
 ranges span
 ranges tuple
 ranges type_traits
 ranges variant
+ranges version
 ratio climits
 ratio cstdint
 ratio type_traits
+ratio version
 regex atomic
 regex cctype
+regex compare
 regex concepts
+regex cstddef
+regex cstdint
 regex cstdlib
 regex cstring
 regex deque
 regex initializer_list
+regex iosfwd
+regex iterator
 regex limits
 regex mutex
 regex new
 regex stdexcept
+regex string
 regex type_traits
 regex typeinfo
+regex utility
+regex vector
+regex version
 scoped_allocator atomic
+scoped_allocator climits
 scoped_allocator concepts
 scoped_allocator cstddef
+scoped_allocator cstring
+scoped_allocator ctime
 scoped_allocator iterator
 scoped_allocator limits
 scoped_allocator memory
 scoped_allocator new
+scoped_allocator ratio
+scoped_allocator stdexcept
 scoped_allocator tuple
 scoped_allocator type_traits
+scoped_allocator variant
+scoped_allocator version
 semaphore atomic
 semaphore ctime
 semaphore iosfwd
 semaphore limits
 semaphore ratio
+semaphore type_traits
+semaphore version
+set compare
 set concepts
+set cstddef
 set cstdlib
 set functional
 set initializer_list
+set iterator
 set limits
 set new
 set optional
 set stdexcept
+set type_traits
+set version
 shared_mutex version
 span array
 span concepts
 span cstddef
 span functional
 span initializer_list
+span iterator
 span limits
 span type_traits
+span version
+sstream cstddef
 sstream istream
+sstream ostream
+sstream string
 sstream type_traits
+sstream version
+stack compare
 stack concepts
+stack cstddef
 stack deque
+stack functional
+stack initializer_list
+stack type_traits
+stack version
 stdexcept cstdlib
 stdexcept exception
 stdexcept iosfwd
 streambuf cstdint
 streambuf ios
+streambuf iosfwd
+streambuf version
+string algorithm
 string climits
+string compare
 string concepts
 string cstddef
+string cstdint
 string cstdio
 string cstdlib
 string cstring
 string cwchar
+string functional
 string initializer_list
 string iosfwd
+string iterator
 string limits
 string new
 string stdexcept
 string string_view
 string type_traits
+string typeinfo
+string utility
+string vector
+string version
 string_view algorithm
 string_view compare
 string_view concepts
 string_view cstddef
+string_view cstdint
 string_view cstdio
 string_view cstdlib
 string_view cstring
@@ -493,65 +782,96 @@ string_view cwchar
 string_view functional
 string_view initializer_list
 string_view iosfwd
+string_view iterator
 string_view limits
 string_view stdexcept
 string_view type_traits
+string_view version
 strstream istream
+strstream ostream
+strstream version
 system_error cerrno
+system_error compare
 system_error cstddef
+system_error cstdint
 system_error cstring
 system_error limits
 system_error stdexcept
 system_error string
 system_error type_traits
+system_error version
+thread chrono
+thread compare
 thread cstddef
+thread cstdint
 thread cstring
 thread ctime
+thread functional
 thread iosfwd
 thread limits
 thread new
 thread ratio
 thread system_error
+thread tuple
 thread type_traits
+thread version
 tuple compare
+tuple cstddef
 tuple exception
 tuple iosfwd
 tuple new
 tuple type_traits
 tuple typeinfo
 tuple utility
+tuple version
 type_traits cstddef
 type_traits cstdint
+type_traits version
 typeindex compare
 typeindex iosfwd
 typeindex new
 typeindex typeinfo
 typeindex utility
+typeindex version
 typeinfo cstddef
 typeinfo cstdint
+typeinfo cstdlib
 typeinfo exception
+typeinfo type_traits
 unordered_map algorithm
+unordered_map bit
 unordered_map cmath
+unordered_map compare
 unordered_map concepts
+unordered_map cstddef
+unordered_map cstdint
 unordered_map cstdlib
 unordered_map cstring
 unordered_map initializer_list
+unordered_map iterator
 unordered_map limits
 unordered_map new
 unordered_map optional
 unordered_map stdexcept
+unordered_map tuple
 unordered_map type_traits
+unordered_map version
 unordered_set cmath
+unordered_set compare
 unordered_set concepts
+unordered_set cstddef
+unordered_set cstdint
 unordered_set cstdlib
 unordered_set cstring
 unordered_set functional
 unordered_set initializer_list
+unordered_set iterator
 unordered_set limits
 unordered_set new
 unordered_set optional
 unordered_set stdexcept
 unordered_set type_traits
+unordered_set version
 utility compare
 utility cstddef
 utility cstdlib
@@ -559,9 +879,11 @@ utility initializer_list
 utility iosfwd
 utility limits
 utility type_traits
+utility version
 valarray algorithm
 valarray cmath
 valarray concepts
+valarray cstddef
 valarray cstdlib
 valarray cstring
 valarray functional
@@ -569,6 +891,11 @@ valarray initializer_list
 valarray limits
 valarray new
 valarray stdexcept
+valarray type_traits
+valarray version
+variant compare
+variant cstddef
+variant cstdint
 variant cstring
 variant exception
 variant initializer_list
@@ -576,13 +903,24 @@ variant limits
 variant new
 variant tuple
 variant type_traits
+variant typeinfo
+variant utility
+variant version
 vector algorithm
 vector atomic
+vector climits
+vector compare
 vector concepts
+vector cstddef
+vector cstdint
 vector cstdlib
 vector cstring
 vector initializer_list
+vector iosfwd
 vector limits
 vector new
 vector stdexcept
+vector type_traits
 vector typeinfo
+vector utility
+vector version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx17.csv b/libcxx/test/libcxx/transitive_includes/cxx17.csv
index 3b2c1414e547..69a11ec96b84 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx17.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx17.csv
@@ -4,19 +4,28 @@ algorithm chrono
 algorithm climits
 algorithm concepts
 algorithm cstddef
+algorithm cstdint
 algorithm cstdlib
 algorithm cstring
 algorithm initializer_list
+algorithm iosfwd
 algorithm iterator
 algorithm limits
 algorithm memory
 algorithm new
+algorithm stdexcept
 algorithm type_traits
+algorithm utility
+algorithm version
 any atomic
+any chrono
 any concepts
 any cstddef
+any cstdint
+any cstdlib
 any cstring
 any initializer_list
+any iosfwd
 any iterator
 any limits
 any memory
@@ -24,21 +33,36 @@ any new
 any stdexcept
 any type_traits
 any typeinfo
+any variant
+any version
 array algorithm
 array compare
 array concepts
+array cstddef
 array cstdlib
 array initializer_list
+array iterator
 array limits
 array stdexcept
+array type_traits
+array utility
+array version
 atomic chrono
+atomic cmath
+atomic compare
+atomic cstddef
+atomic cstdint
 atomic cstring
 atomic ctime
 atomic iosfwd
 atomic limits
 atomic ratio
+atomic type_traits
+atomic version
 barrier atomic
 barrier concepts
+barrier cstddef
+barrier cstdint
 barrier cstring
 barrier ctime
 barrier iosfwd
@@ -47,24 +71,35 @@ barrier limits
 barrier memory
 barrier new
 barrier ratio
+barrier stdexcept
 barrier type_traits
+barrier variant
+bit cstdint
 bit cstdlib
 bit iosfwd
 bit limits
 bit type_traits
+bit version
 bitset climits
 bitset concepts
+bitset cstddef
+bitset cstdint
 bitset cstdlib
 bitset cstring
 bitset initializer_list
+bitset iosfwd
 bitset limits
 bitset new
 bitset stdexcept
 bitset string
+bitset type_traits
+bitset version
 ccomplex complex
 charconv cerrno
 charconv cmath
 charconv concepts
+charconv cstddef
+charconv cstdint
 charconv cstdlib
 charconv cstring
 charconv initializer_list
@@ -75,74 +110,120 @@ chrono compare
 chrono ctime
 chrono limits
 chrono ratio
+chrono type_traits
+chrono version
 cinttypes cstdint
 cmath type_traits
+cmath version
 codecvt atomic
 codecvt cctype
 codecvt concepts
+codecvt cstddef
+codecvt cstdint
+codecvt cstdlib
 codecvt cstring
 codecvt initializer_list
+codecvt iosfwd
 codecvt limits
 codecvt mutex
 codecvt new
 codecvt stdexcept
+codecvt string
 codecvt type_traits
 codecvt typeinfo
+codecvt version
 compare cmath
+compare cstddef
+compare cstdint
+compare limits
 compare type_traits
+compare version
 complex cmath
 complex iosfwd
 complex sstream
 complex stdexcept
+complex type_traits
+complex version
+concepts cstddef
 concepts type_traits
+concepts version
 condition_variable atomic
 condition_variable concepts
+condition_variable cstddef
+condition_variable cstdint
+condition_variable cstdlib
 condition_variable cstring
 condition_variable initializer_list
+condition_variable iosfwd
 condition_variable limits
 condition_variable new
+condition_variable ratio
 condition_variable stdexcept
 condition_variable system_error
 condition_variable type_traits
 condition_variable typeinfo
+condition_variable version
 coroutine compare
 coroutine cstddef
+coroutine cstdint
 coroutine cstring
 coroutine iosfwd
 coroutine limits
 coroutine type_traits
+coroutine version
 cstddef version
 ctgmath ccomplex
+ctgmath cmath
 cwchar cwctype
 cwctype cctype
 deque algorithm
 deque atomic
+deque compare
 deque concepts
+deque cstddef
+deque cstdint
 deque cstdlib
 deque cstring
 deque functional
 deque initializer_list
+deque iosfwd
+deque iterator
 deque limits
 deque new
 deque stdexcept
+deque type_traits
 deque typeinfo
+deque version
 exception cstddef
 exception cstdlib
 exception type_traits
+exception version
 execution version
 experimental/algorithm algorithm
 experimental/algorithm cstddef
 experimental/algorithm type_traits
 experimental/coroutine atomic
+experimental/coroutine climits
+experimental/coroutine cmath
+experimental/coroutine compare
 experimental/coroutine concepts
 experimental/coroutine cstddef
+experimental/coroutine cstdint
 experimental/coroutine cstring
+experimental/coroutine ctime
 experimental/coroutine initializer_list
+experimental/coroutine iosfwd
 experimental/coroutine iterator
 experimental/coroutine limits
 experimental/coroutine memory
 experimental/coroutine new
+experimental/coroutine ratio
+experimental/coroutine stdexcept
+experimental/coroutine tuple
 experimental/coroutine type_traits
+experimental/coroutine typeinfo
+experimental/coroutine utility
+experimental/coroutine variant
 experimental/deque deque
 experimental/deque experimental/memory_resource
 experimental/forward_list experimental/memory_resource
@@ -151,6 +232,8 @@ experimental/functional array
 experimental/functional cstddef
 experimental/functional functional
 experimental/functional type_traits
+experimental/functional unordered_map
+experimental/functional vector
 experimental/iterator cstddef
 experimental/iterator iosfwd
 experimental/iterator iterator
@@ -160,16 +243,22 @@ experimental/list list
 experimental/map experimental/memory_resource
 experimental/map map
 experimental/memory_resource atomic
+experimental/memory_resource climits
 experimental/memory_resource concepts
 experimental/memory_resource cstddef
+experimental/memory_resource cstdlib
+experimental/memory_resource cstring
+experimental/memory_resource ctime
 experimental/memory_resource experimental/utility
 experimental/memory_resource iterator
 experimental/memory_resource limits
 experimental/memory_resource memory
 experimental/memory_resource new
+experimental/memory_resource ratio
 experimental/memory_resource stdexcept
 experimental/memory_resource tuple
 experimental/memory_resource type_traits
+experimental/memory_resource variant
 experimental/propagate_const cstddef
 experimental/propagate_const type_traits
 experimental/regex experimental/memory_resource
@@ -177,17 +266,22 @@ experimental/regex experimental/string
 experimental/regex regex
 experimental/set experimental/memory_resource
 experimental/set set
+experimental/simd algorithm
 experimental/simd array
 experimental/simd cstddef
 experimental/simd functional
+experimental/simd tuple
 experimental/string experimental/memory_resource
 experimental/string string
 experimental/type_traits initializer_list
 experimental/type_traits type_traits
+experimental/unordered_map algorithm
 experimental/unordered_map array
+experimental/unordered_map bit
 experimental/unordered_map experimental/memory_resource
 experimental/unordered_map functional
 experimental/unordered_map unordered_map
+experimental/unordered_map vector
 experimental/unordered_set experimental/memory_resource
 experimental/unordered_set unordered_set
 experimental/utility utility
@@ -197,89 +291,144 @@ ext/hash_map algorithm
 ext/hash_map cmath
 ext/hash_map concepts
 ext/hash_map cstddef
+ext/hash_map cstdint
 ext/hash_map cstring
+ext/hash_map functional
 ext/hash_map initializer_list
+ext/hash_map iterator
 ext/hash_map limits
 ext/hash_map new
+ext/hash_map stdexcept
 ext/hash_map string
 ext/hash_map type_traits
 ext/hash_set algorithm
 ext/hash_set cmath
 ext/hash_set concepts
 ext/hash_set cstddef
+ext/hash_set cstdint
 ext/hash_set cstring
+ext/hash_set functional
 ext/hash_set initializer_list
+ext/hash_set iterator
 ext/hash_set limits
 ext/hash_set new
 ext/hash_set string
 ext/hash_set type_traits
 filesystem cerrno
+filesystem compare
 filesystem concepts
+filesystem cstddef
+filesystem cstdint
+filesystem cstdlib
 filesystem ctime
 filesystem iomanip
+filesystem iosfwd
 filesystem limits
+filesystem locale
+filesystem new
 filesystem ratio
 filesystem string
+filesystem string_view
+filesystem system_error
+filesystem type_traits
+filesystem version
+format array
+format bit
 format charconv
 format concepts
+format cstddef
+format cstdint
 format cstdlib
 format cstring
 format initializer_list
 format limits
 format locale
+format optional
 format stdexcept
 format string
 format string_view
+format type_traits
 format version
 forward_list algorithm
 forward_list atomic
+forward_list compare
 forward_list concepts
 forward_list cstddef
+forward_list cstdint
 forward_list cstdlib
 forward_list cstring
 forward_list functional
 forward_list initializer_list
+forward_list iosfwd
+forward_list iterator
 forward_list limits
 forward_list new
 forward_list stdexcept
 forward_list type_traits
 forward_list typeinfo
+forward_list version
 fstream atomic
 fstream cctype
 fstream concepts
 fstream cstddef
+fstream cstdint
+fstream cstdio
+fstream cstdlib
 fstream cstring
 fstream filesystem
 fstream initializer_list
+fstream iosfwd
 fstream istream
 fstream limits
 fstream mutex
 fstream new
+fstream ostream
 fstream stdexcept
+fstream string
 fstream type_traits
 fstream typeinfo
+fstream version
 functional array
 functional atomic
 functional concepts
+functional cstddef
+functional cstdint
 functional cstdlib
 functional cstring
+functional exception
 functional initializer_list
+functional iosfwd
 functional limits
+functional memory
+functional new
 functional stdexcept
 functional tuple
 functional type_traits
+functional typeinfo
 functional unordered_map
+functional utility
 functional vector
+functional version
+future chrono
+future cstddef
 future exception
 future limits
 future mutex
+future new
 future ratio
+future system_error
 future thread
+future type_traits
+future version
 initializer_list cstddef
 iomanip istream
+iomanip version
 ios atomic
 ios cctype
 ios concepts
+ios cstddef
+ios cstdint
+ios cstdlib
 ios cstring
 ios initializer_list
 ios iosfwd
@@ -287,116 +436,200 @@ ios limits
 ios mutex
 ios new
 ios stdexcept
+ios string
+ios system_error
 ios type_traits
 ios typeinfo
+ios version
 iosfwd version
 iostream ios
 iostream istream
+iostream ostream
+iostream streambuf
 iostream version
 istream concepts
 istream cstddef
 istream iosfwd
 istream ostream
+istream type_traits
+istream version
+iterator compare
 iterator concepts
 iterator cstddef
 iterator cstdlib
+iterator exception
+iterator initializer_list
+iterator iosfwd
 iterator limits
+iterator new
 iterator type_traits
+iterator typeinfo
+iterator utility
 iterator variant
+iterator version
 latch atomic
+latch limits
+latch version
 limits type_traits
+limits version
 list algorithm
 list atomic
+list compare
 list concepts
+list cstddef
+list cstdint
 list cstdlib
 list cstring
 list functional
 list initializer_list
+list iosfwd
+list iterator
 list limits
 list new
 list stdexcept
+list type_traits
 list typeinfo
+list version
 locale atomic
 locale cctype
 locale concepts
 locale cstdarg
+locale cstddef
+locale cstdint
+locale cstdio
 locale cstdlib
 locale cstring
+locale ctime
 locale initializer_list
 locale ios
 locale iosfwd
+locale iterator
 locale limits
 locale mutex
 locale new
 locale stdexcept
 locale streambuf
+locale string
+locale type_traits
 locale typeinfo
+locale version
+map compare
 map concepts
+map cstddef
 map cstdlib
 map functional
 map initializer_list
+map iterator
 map limits
 map new
 map optional
 map stdexcept
+map tuple
+map type_traits
+map utility
+map version
 memory atomic
+memory compare
 memory concepts
 memory cstddef
+memory cstdint
+memory cstdlib
 memory cstring
 memory initializer_list
+memory iosfwd
 memory iterator
 memory limits
 memory new
 memory stdexcept
+memory tuple
 memory type_traits
 memory typeinfo
+memory utility
+memory version
 mutex atomic
 mutex concepts
+mutex cstddef
+mutex cstdint
+mutex cstdlib
 mutex cstring
+mutex functional
 mutex initializer_list
+mutex iosfwd
 mutex limits
 mutex new
+mutex ratio
 mutex stdexcept
 mutex system_error
+mutex tuple
 mutex type_traits
 mutex typeinfo
+mutex version
 new cstddef
 new cstdlib
 new exception
+new type_traits
+new version
 numbers concepts
+numbers type_traits
+numbers version
 numeric cmath
 numeric concepts
+numeric cstddef
 numeric functional
+numeric iterator
+numeric limits
+numeric type_traits
+numeric version
 optional atomic
 optional chrono
+optional climits
 optional compare
 optional concepts
 optional cstddef
+optional cstdint
 optional cstring
+optional ctime
 optional initializer_list
 optional iterator
 optional limits
 optional memory
 optional new
+optional ratio
 optional stdexcept
+optional tuple
 optional type_traits
+optional typeinfo
+optional utility
+optional variant
+optional version
 ostream bitset
+ostream cstddef
+ostream cstdint
 ostream cstring
 ostream ios
+ostream iterator
 ostream limits
 ostream locale
 ostream new
+ostream streambuf
 ostream type_traits
+ostream version
+queue compare
 queue concepts
 queue cstddef
 queue cstdlib
 queue deque
+queue functional
 queue initializer_list
 queue limits
 queue type_traits
+queue vector
+queue version
+random algorithm
 random climits
 random cmath
 random concepts
+random cstddef
 random cstdint
 random cstdlib
 random initializer_list
@@ -405,87 +638,143 @@ random limits
 random numeric
 random string
 random type_traits
+random vector
+random version
+ranges compare
 ranges concepts
+ranges cstddef
 ranges cstdlib
 ranges initializer_list
+ranges iosfwd
+ranges iterator
 ranges limits
+ranges optional
 ranges span
 ranges tuple
 ranges type_traits
 ranges variant
+ranges version
 ratio climits
 ratio cstdint
 ratio type_traits
+ratio version
 regex atomic
 regex cctype
+regex compare
 regex concepts
+regex cstddef
+regex cstdint
 regex cstdlib
 regex cstring
 regex deque
 regex initializer_list
+regex iosfwd
+regex iterator
 regex limits
 regex mutex
 regex new
 regex stdexcept
+regex string
 regex type_traits
 regex typeinfo
+regex utility
+regex vector
+regex version
 scoped_allocator atomic
+scoped_allocator climits
 scoped_allocator concepts
 scoped_allocator cstddef
+scoped_allocator cstring
+scoped_allocator ctime
 scoped_allocator iterator
 scoped_allocator limits
 scoped_allocator memory
 scoped_allocator new
+scoped_allocator ratio
+scoped_allocator stdexcept
 scoped_allocator tuple
 scoped_allocator type_traits
+scoped_allocator variant
+scoped_allocator version
 semaphore atomic
 semaphore ctime
 semaphore iosfwd
 semaphore limits
 semaphore ratio
+semaphore type_traits
+semaphore version
+set compare
 set concepts
+set cstddef
 set cstdlib
 set functional
 set initializer_list
+set iterator
 set limits
 set new
 set optional
 set stdexcept
+set type_traits
+set version
 shared_mutex version
 span array
 span concepts
 span cstddef
 span functional
 span initializer_list
+span iterator
 span limits
 span type_traits
+span version
+sstream cstddef
 sstream istream
+sstream ostream
+sstream string
 sstream type_traits
+sstream version
+stack compare
 stack concepts
+stack cstddef
 stack deque
+stack functional
+stack initializer_list
+stack type_traits
+stack version
 stdexcept cstdlib
 stdexcept exception
 stdexcept iosfwd
 streambuf cstdint
 streambuf ios
+streambuf iosfwd
+streambuf version
+string algorithm
 string climits
+string compare
 string concepts
 string cstddef
+string cstdint
 string cstdio
 string cstdlib
 string cstring
 string cwchar
+string functional
 string initializer_list
 string iosfwd
+string iterator
 string limits
 string new
 string stdexcept
 string string_view
 string type_traits
+string typeinfo
+string utility
+string vector
+string version
 string_view algorithm
 string_view compare
 string_view concepts
 string_view cstddef
+string_view cstdint
 string_view cstdio
 string_view cstdlib
 string_view cstring
@@ -493,65 +782,96 @@ string_view cwchar
 string_view functional
 string_view initializer_list
 string_view iosfwd
+string_view iterator
 string_view limits
 string_view stdexcept
 string_view type_traits
+string_view version
 strstream istream
+strstream ostream
+strstream version
 system_error cerrno
+system_error compare
 system_error cstddef
+system_error cstdint
 system_error cstring
 system_error limits
 system_error stdexcept
 system_error string
 system_error type_traits
+system_error version
+thread chrono
+thread compare
 thread cstddef
+thread cstdint
 thread cstring
 thread ctime
+thread functional
 thread iosfwd
 thread limits
 thread new
 thread ratio
 thread system_error
+thread tuple
 thread type_traits
+thread version
 tuple compare
+tuple cstddef
 tuple exception
 tuple iosfwd
 tuple new
 tuple type_traits
 tuple typeinfo
 tuple utility
+tuple version
 type_traits cstddef
 type_traits cstdint
+type_traits version
 typeindex compare
 typeindex iosfwd
 typeindex new
 typeindex typeinfo
 typeindex utility
+typeindex version
 typeinfo cstddef
 typeinfo cstdint
+typeinfo cstdlib
 typeinfo exception
+typeinfo type_traits
 unordered_map algorithm
+unordered_map bit
 unordered_map cmath
+unordered_map compare
 unordered_map concepts
+unordered_map cstddef
+unordered_map cstdint
 unordered_map cstdlib
 unordered_map cstring
 unordered_map initializer_list
+unordered_map iterator
 unordered_map limits
 unordered_map new
 unordered_map optional
 unordered_map stdexcept
+unordered_map tuple
 unordered_map type_traits
+unordered_map version
 unordered_set cmath
+unordered_set compare
 unordered_set concepts
+unordered_set cstddef
+unordered_set cstdint
 unordered_set cstdlib
 unordered_set cstring
 unordered_set functional
 unordered_set initializer_list
+unordered_set iterator
 unordered_set limits
 unordered_set new
 unordered_set optional
 unordered_set stdexcept
 unordered_set type_traits
+unordered_set version
 utility compare
 utility cstddef
 utility cstdlib
@@ -559,9 +879,11 @@ utility initializer_list
 utility iosfwd
 utility limits
 utility type_traits
+utility version
 valarray algorithm
 valarray cmath
 valarray concepts
+valarray cstddef
 valarray cstdlib
 valarray cstring
 valarray functional
@@ -569,6 +891,11 @@ valarray initializer_list
 valarray limits
 valarray new
 valarray stdexcept
+valarray type_traits
+valarray version
+variant compare
+variant cstddef
+variant cstdint
 variant cstring
 variant exception
 variant initializer_list
@@ -576,13 +903,24 @@ variant limits
 variant new
 variant tuple
 variant type_traits
+variant typeinfo
+variant utility
+variant version
 vector algorithm
 vector atomic
+vector climits
+vector compare
 vector concepts
+vector cstddef
+vector cstdint
 vector cstdlib
 vector cstring
 vector initializer_list
+vector iosfwd
 vector limits
 vector new
 vector stdexcept
+vector type_traits
 vector typeinfo
+vector utility
+vector version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx20.csv b/libcxx/test/libcxx/transitive_includes/cxx20.csv
index 1ca1ab58d2c2..d5ad19904ed7 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx20.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx20.csv
@@ -3,19 +3,27 @@ algorithm bit
 algorithm climits
 algorithm concepts
 algorithm cstddef
+algorithm cstdint
 algorithm cstdlib
 algorithm cstring
 algorithm initializer_list
+algorithm iosfwd
 algorithm iterator
 algorithm limits
 algorithm memory
 algorithm new
+algorithm stdexcept
 algorithm type_traits
+algorithm utility
+algorithm version
 any atomic
 any concepts
 any cstddef
+any cstdint
+any cstdlib
 any cstring
 any initializer_list
+any iosfwd
 any iterator
 any limits
 any memory
@@ -23,22 +31,35 @@ any new
 any stdexcept
 any type_traits
 any typeinfo
+any variant
+any version
 array algorithm
 array compare
 array concepts
+array cstddef
 array cstdlib
 array initializer_list
+array iterator
 array limits
 array stdexcept
+array type_traits
+array utility
+array version
 atomic cmath
 atomic compare
+atomic cstddef
+atomic cstdint
 atomic cstring
 atomic ctime
 atomic iosfwd
 atomic limits
 atomic ratio
+atomic type_traits
+atomic version
 barrier atomic
 barrier concepts
+barrier cstddef
+barrier cstdint
 barrier cstring
 barrier ctime
 barrier iosfwd
@@ -47,108 +68,174 @@ barrier limits
 barrier memory
 barrier new
 barrier ratio
+barrier stdexcept
 barrier type_traits
+barrier variant
+bit cstdint
 bit cstdlib
 bit iosfwd
 bit limits
 bit type_traits
+bit version
 bitset climits
 bitset concepts
+bitset cstddef
+bitset cstdint
 bitset cstdlib
 bitset cstring
 bitset initializer_list
+bitset iosfwd
 bitset limits
 bitset new
 bitset stdexcept
 bitset string
+bitset type_traits
+bitset version
 ccomplex complex
 charconv cerrno
 charconv cmath
 charconv concepts
+charconv cstddef
+charconv cstdint
 charconv cstdlib
 charconv cstring
 charconv initializer_list
 charconv iosfwd
 charconv limits
 charconv type_traits
+chrono array
+chrono bit
 chrono charconv
 chrono compare
 chrono concepts
+chrono cstddef
+chrono cstdint
+chrono cstdlib
+chrono cstring
 chrono ctime
 chrono limits
+chrono locale
+chrono optional
+chrono ostream
 chrono ratio
 chrono sstream
 chrono stdexcept
 chrono string
 chrono string_view
+chrono type_traits
+chrono version
 cinttypes cstdint
 cmath type_traits
+cmath version
 codecvt atomic
 codecvt cctype
 codecvt concepts
+codecvt cstddef
+codecvt cstdint
+codecvt cstdlib
 codecvt cstring
 codecvt initializer_list
+codecvt iosfwd
 codecvt limits
 codecvt mutex
 codecvt new
 codecvt stdexcept
+codecvt string
 codecvt type_traits
 codecvt typeinfo
+codecvt version
 compare cmath
+compare cstddef
+compare cstdint
+compare limits
 compare type_traits
+compare version
 complex cmath
 complex iosfwd
 complex sstream
 complex stdexcept
+complex type_traits
+complex version
+concepts cstddef
 concepts type_traits
+concepts version
 condition_variable atomic
 condition_variable concepts
+condition_variable cstddef
+condition_variable cstdint
+condition_variable cstdlib
 condition_variable cstring
 condition_variable initializer_list
+condition_variable iosfwd
 condition_variable limits
 condition_variable new
+condition_variable ratio
 condition_variable stdexcept
 condition_variable system_error
 condition_variable type_traits
 condition_variable typeinfo
+condition_variable version
 coroutine compare
 coroutine cstddef
+coroutine cstdint
 coroutine cstring
 coroutine iosfwd
 coroutine limits
 coroutine type_traits
+coroutine version
 cstddef version
 ctgmath ccomplex
+ctgmath cmath
 cwchar cwctype
 cwctype cctype
 deque algorithm
 deque atomic
+deque compare
 deque concepts
+deque cstddef
+deque cstdint
 deque cstdlib
 deque cstring
 deque functional
 deque initializer_list
+deque iosfwd
+deque iterator
 deque limits
 deque new
 deque stdexcept
+deque type_traits
 deque typeinfo
+deque version
 exception cstddef
 exception cstdlib
 exception type_traits
+exception version
 execution version
 experimental/algorithm algorithm
 experimental/algorithm cstddef
 experimental/algorithm type_traits
 experimental/coroutine atomic
+experimental/coroutine climits
+experimental/coroutine cmath
+experimental/coroutine compare
 experimental/coroutine concepts
 experimental/coroutine cstddef
+experimental/coroutine cstdint
 experimental/coroutine cstring
+experimental/coroutine ctime
 experimental/coroutine initializer_list
+experimental/coroutine iosfwd
 experimental/coroutine iterator
 experimental/coroutine limits
 experimental/coroutine memory
 experimental/coroutine new
+experimental/coroutine ratio
+experimental/coroutine stdexcept
+experimental/coroutine tuple
 experimental/coroutine type_traits
+experimental/coroutine typeinfo
+experimental/coroutine utility
+experimental/coroutine variant
 experimental/deque deque
 experimental/deque experimental/memory_resource
 experimental/forward_list experimental/memory_resource
@@ -157,6 +244,8 @@ experimental/functional array
 experimental/functional cstddef
 experimental/functional functional
 experimental/functional type_traits
+experimental/functional unordered_map
+experimental/functional vector
 experimental/iterator cstddef
 experimental/iterator iosfwd
 experimental/iterator iterator
@@ -166,16 +255,22 @@ experimental/list list
 experimental/map experimental/memory_resource
 experimental/map map
 experimental/memory_resource atomic
+experimental/memory_resource climits
 experimental/memory_resource concepts
 experimental/memory_resource cstddef
+experimental/memory_resource cstdlib
+experimental/memory_resource cstring
+experimental/memory_resource ctime
 experimental/memory_resource experimental/utility
 experimental/memory_resource iterator
 experimental/memory_resource limits
 experimental/memory_resource memory
 experimental/memory_resource new
+experimental/memory_resource ratio
 experimental/memory_resource stdexcept
 experimental/memory_resource tuple
 experimental/memory_resource type_traits
+experimental/memory_resource variant
 experimental/propagate_const cstddef
 experimental/propagate_const type_traits
 experimental/regex experimental/memory_resource
@@ -183,17 +278,22 @@ experimental/regex experimental/string
 experimental/regex regex
 experimental/set experimental/memory_resource
 experimental/set set
+experimental/simd algorithm
 experimental/simd array
 experimental/simd cstddef
 experimental/simd functional
+experimental/simd tuple
 experimental/string experimental/memory_resource
 experimental/string string
 experimental/type_traits initializer_list
 experimental/type_traits type_traits
+experimental/unordered_map algorithm
 experimental/unordered_map array
+experimental/unordered_map bit
 experimental/unordered_map experimental/memory_resource
 experimental/unordered_map functional
 experimental/unordered_map unordered_map
+experimental/unordered_map vector
 experimental/unordered_set experimental/memory_resource
 experimental/unordered_set unordered_set
 experimental/utility utility
@@ -203,89 +303,143 @@ ext/hash_map algorithm
 ext/hash_map cmath
 ext/hash_map concepts
 ext/hash_map cstddef
+ext/hash_map cstdint
 ext/hash_map cstring
+ext/hash_map functional
 ext/hash_map initializer_list
+ext/hash_map iterator
 ext/hash_map limits
 ext/hash_map new
+ext/hash_map stdexcept
 ext/hash_map string
 ext/hash_map type_traits
 ext/hash_set algorithm
 ext/hash_set cmath
 ext/hash_set concepts
 ext/hash_set cstddef
+ext/hash_set cstdint
 ext/hash_set cstring
+ext/hash_set functional
 ext/hash_set initializer_list
+ext/hash_set iterator
 ext/hash_set limits
 ext/hash_set new
 ext/hash_set string
 ext/hash_set type_traits
 filesystem cerrno
+filesystem compare
 filesystem concepts
+filesystem cstddef
+filesystem cstdint
+filesystem cstdlib
 filesystem ctime
 filesystem iomanip
+filesystem iosfwd
 filesystem limits
+filesystem locale
+filesystem new
 filesystem ratio
 filesystem string
+filesystem string_view
+filesystem system_error
+filesystem type_traits
+filesystem version
+format array
+format bit
 format charconv
 format concepts
+format cstddef
+format cstdint
 format cstdlib
 format cstring
 format initializer_list
 format limits
 format locale
+format optional
 format stdexcept
 format string
 format string_view
+format type_traits
 format version
 forward_list algorithm
 forward_list atomic
+forward_list compare
 forward_list concepts
 forward_list cstddef
+forward_list cstdint
 forward_list cstdlib
 forward_list cstring
 forward_list functional
 forward_list initializer_list
+forward_list iosfwd
+forward_list iterator
 forward_list limits
 forward_list new
 forward_list stdexcept
 forward_list type_traits
 forward_list typeinfo
+forward_list version
 fstream atomic
 fstream cctype
 fstream concepts
 fstream cstddef
+fstream cstdint
+fstream cstdio
+fstream cstdlib
 fstream cstring
 fstream filesystem
 fstream initializer_list
+fstream iosfwd
 fstream istream
 fstream limits
 fstream mutex
 fstream new
+fstream ostream
 fstream stdexcept
+fstream string
 fstream type_traits
 fstream typeinfo
+fstream version
 functional array
 functional atomic
 functional concepts
+functional cstddef
+functional cstdint
 functional cstdlib
 functional cstring
+functional exception
 functional initializer_list
+functional iosfwd
 functional limits
+functional memory
+functional new
 functional stdexcept
 functional tuple
 functional type_traits
+functional typeinfo
 functional unordered_map
+functional utility
 functional vector
+functional version
+future cstddef
 future exception
 future limits
 future mutex
+future new
 future ratio
+future system_error
 future thread
+future type_traits
+future version
 initializer_list cstddef
 iomanip istream
+iomanip version
 ios atomic
 ios cctype
 ios concepts
+ios cstddef
+ios cstdint
+ios cstdlib
 ios cstring
 ios initializer_list
 ios iosfwd
@@ -293,115 +447,199 @@ ios limits
 ios mutex
 ios new
 ios stdexcept
+ios string
+ios system_error
 ios type_traits
 ios typeinfo
+ios version
 iosfwd version
 iostream ios
 iostream istream
+iostream ostream
+iostream streambuf
 iostream version
 istream concepts
 istream cstddef
 istream iosfwd
 istream ostream
+istream type_traits
+istream version
+iterator compare
 iterator concepts
 iterator cstddef
 iterator cstdlib
+iterator exception
+iterator initializer_list
+iterator iosfwd
 iterator limits
+iterator new
 iterator type_traits
+iterator typeinfo
+iterator utility
 iterator variant
+iterator version
 latch atomic
+latch limits
+latch version
 limits type_traits
+limits version
 list algorithm
 list atomic
+list compare
 list concepts
+list cstddef
+list cstdint
 list cstdlib
 list cstring
 list functional
 list initializer_list
+list iosfwd
+list iterator
 list limits
 list new
 list stdexcept
+list type_traits
 list typeinfo
+list version
 locale atomic
 locale cctype
 locale concepts
 locale cstdarg
+locale cstddef
+locale cstdint
+locale cstdio
 locale cstdlib
 locale cstring
+locale ctime
 locale initializer_list
 locale ios
 locale iosfwd
+locale iterator
 locale limits
 locale mutex
 locale new
 locale stdexcept
 locale streambuf
+locale string
+locale type_traits
 locale typeinfo
+locale version
+map compare
 map concepts
+map cstddef
 map cstdlib
 map functional
 map initializer_list
+map iterator
 map limits
 map new
 map optional
 map stdexcept
+map tuple
+map type_traits
+map utility
+map version
 memory atomic
+memory compare
 memory concepts
 memory cstddef
+memory cstdint
+memory cstdlib
 memory cstring
 memory initializer_list
+memory iosfwd
 memory iterator
 memory limits
 memory new
 memory stdexcept
+memory tuple
 memory type_traits
 memory typeinfo
+memory utility
+memory version
 mutex atomic
 mutex concepts
+mutex cstddef
+mutex cstdint
+mutex cstdlib
 mutex cstring
+mutex functional
 mutex initializer_list
+mutex iosfwd
 mutex limits
 mutex new
+mutex ratio
 mutex stdexcept
 mutex system_error
+mutex tuple
 mutex type_traits
 mutex typeinfo
+mutex version
 new cstddef
 new cstdlib
 new exception
+new type_traits
+new version
 numbers concepts
+numbers type_traits
+numbers version
 numeric cmath
 numeric concepts
+numeric cstddef
 numeric functional
+numeric iterator
+numeric limits
+numeric type_traits
+numeric version
 optional atomic
+optional climits
 optional compare
 optional concepts
 optional cstddef
+optional cstdint
 optional cstring
+optional ctime
 optional initializer_list
 optional iterator
 optional limits
 optional memory
 optional new
+optional ratio
 optional stdexcept
+optional tuple
 optional type_traits
+optional typeinfo
+optional utility
+optional variant
+optional version
 ostream bitset
+ostream cstddef
+ostream cstdint
 ostream cstring
 ostream ios
+ostream iterator
 ostream limits
 ostream locale
 ostream new
+ostream streambuf
 ostream type_traits
+ostream version
+queue compare
 queue concepts
 queue cstddef
 queue cstdlib
 queue deque
+queue functional
 queue initializer_list
 queue limits
 queue type_traits
+queue vector
+queue version
+random algorithm
 random climits
 random cmath
 random concepts
+random cstddef
 random cstdint
 random cstdlib
 random initializer_list
@@ -410,87 +648,143 @@ random limits
 random numeric
 random string
 random type_traits
+random vector
+random version
+ranges compare
 ranges concepts
+ranges cstddef
 ranges cstdlib
 ranges initializer_list
+ranges iosfwd
+ranges iterator
 ranges limits
+ranges optional
 ranges span
 ranges tuple
 ranges type_traits
 ranges variant
+ranges version
 ratio climits
 ratio cstdint
 ratio type_traits
+ratio version
 regex atomic
 regex cctype
+regex compare
 regex concepts
+regex cstddef
+regex cstdint
 regex cstdlib
 regex cstring
 regex deque
 regex initializer_list
+regex iosfwd
+regex iterator
 regex limits
 regex mutex
 regex new
 regex stdexcept
+regex string
 regex type_traits
 regex typeinfo
+regex utility
+regex vector
+regex version
 scoped_allocator atomic
+scoped_allocator climits
 scoped_allocator concepts
 scoped_allocator cstddef
+scoped_allocator cstring
+scoped_allocator ctime
 scoped_allocator iterator
 scoped_allocator limits
 scoped_allocator memory
 scoped_allocator new
+scoped_allocator ratio
+scoped_allocator stdexcept
 scoped_allocator tuple
 scoped_allocator type_traits
+scoped_allocator variant
+scoped_allocator version
 semaphore atomic
 semaphore ctime
 semaphore iosfwd
 semaphore limits
 semaphore ratio
+semaphore type_traits
+semaphore version
+set compare
 set concepts
+set cstddef
 set cstdlib
 set functional
 set initializer_list
+set iterator
 set limits
 set new
 set optional
 set stdexcept
+set type_traits
+set version
 shared_mutex version
 span array
 span concepts
 span cstddef
 span functional
 span initializer_list
+span iterator
 span limits
 span type_traits
+span version
+sstream cstddef
 sstream istream
+sstream ostream
+sstream string
 sstream type_traits
+sstream version
+stack compare
 stack concepts
+stack cstddef
 stack deque
+stack functional
+stack initializer_list
+stack type_traits
+stack version
 stdexcept cstdlib
 stdexcept exception
 stdexcept iosfwd
 streambuf cstdint
 streambuf ios
+streambuf iosfwd
+streambuf version
+string algorithm
 string climits
+string compare
 string concepts
 string cstddef
+string cstdint
 string cstdio
 string cstdlib
 string cstring
 string cwchar
+string functional
 string initializer_list
 string iosfwd
+string iterator
 string limits
 string new
 string stdexcept
 string string_view
 string type_traits
+string typeinfo
+string utility
+string vector
+string version
 string_view algorithm
 string_view compare
 string_view concepts
 string_view cstddef
+string_view cstdint
 string_view cstdio
 string_view cstdlib
 string_view cstring
@@ -498,65 +792,95 @@ string_view cwchar
 string_view functional
 string_view initializer_list
 string_view iosfwd
+string_view iterator
 string_view limits
 string_view stdexcept
 string_view type_traits
+string_view version
 strstream istream
+strstream ostream
+strstream version
 system_error cerrno
+system_error compare
 system_error cstddef
+system_error cstdint
 system_error cstring
 system_error limits
 system_error stdexcept
 system_error string
 system_error type_traits
+system_error version
+thread compare
 thread cstddef
+thread cstdint
 thread cstring
 thread ctime
+thread functional
 thread iosfwd
 thread limits
 thread new
 thread ratio
 thread system_error
+thread tuple
 thread type_traits
+thread version
 tuple compare
+tuple cstddef
 tuple exception
 tuple iosfwd
 tuple new
 tuple type_traits
 tuple typeinfo
 tuple utility
+tuple version
 type_traits cstddef
 type_traits cstdint
+type_traits version
 typeindex compare
 typeindex iosfwd
 typeindex new
 typeindex typeinfo
 typeindex utility
+typeindex version
 typeinfo cstddef
 typeinfo cstdint
+typeinfo cstdlib
 typeinfo exception
+typeinfo type_traits
 unordered_map algorithm
+unordered_map bit
 unordered_map cmath
+unordered_map compare
 unordered_map concepts
+unordered_map cstddef
+unordered_map cstdint
 unordered_map cstdlib
 unordered_map cstring
 unordered_map initializer_list
+unordered_map iterator
 unordered_map limits
 unordered_map new
 unordered_map optional
 unordered_map stdexcept
+unordered_map tuple
 unordered_map type_traits
+unordered_map version
 unordered_set cmath
+unordered_set compare
 unordered_set concepts
+unordered_set cstddef
+unordered_set cstdint
 unordered_set cstdlib
 unordered_set cstring
 unordered_set functional
 unordered_set initializer_list
+unordered_set iterator
 unordered_set limits
 unordered_set new
 unordered_set optional
 unordered_set stdexcept
 unordered_set type_traits
+unordered_set version
 utility compare
 utility cstddef
 utility cstdlib
@@ -564,9 +888,11 @@ utility initializer_list
 utility iosfwd
 utility limits
 utility type_traits
+utility version
 valarray algorithm
 valarray cmath
 valarray concepts
+valarray cstddef
 valarray cstdlib
 valarray cstring
 valarray functional
@@ -574,6 +900,11 @@ valarray initializer_list
 valarray limits
 valarray new
 valarray stdexcept
+valarray type_traits
+valarray version
+variant compare
+variant cstddef
+variant cstdint
 variant cstring
 variant exception
 variant initializer_list
@@ -581,13 +912,24 @@ variant limits
 variant new
 variant tuple
 variant type_traits
+variant typeinfo
+variant utility
+variant version
 vector algorithm
 vector atomic
+vector climits
+vector compare
 vector concepts
+vector cstddef
+vector cstdint
 vector cstdlib
 vector cstring
 vector initializer_list
+vector iosfwd
 vector limits
 vector new
 vector stdexcept
+vector type_traits
 vector typeinfo
+vector utility
+vector version

diff  --git a/libcxx/test/libcxx/transitive_includes/cxx2b.csv b/libcxx/test/libcxx/transitive_includes/cxx2b.csv
index 0230046dbb87..a17bc208b654 100644
--- a/libcxx/test/libcxx/transitive_includes/cxx2b.csv
+++ b/libcxx/test/libcxx/transitive_includes/cxx2b.csv
@@ -2,6 +2,7 @@ algorithm bit
 algorithm climits
 algorithm concepts
 algorithm cstddef
+algorithm cstdint
 algorithm cstdlib
 algorithm cstring
 algorithm initializer_list
@@ -9,28 +10,42 @@ algorithm iosfwd
 algorithm limits
 algorithm new
 algorithm type_traits
+algorithm version
 any atomic
 any concepts
 any cstddef
+any cstdint
+any cstdlib
 any cstring
 any initializer_list
+any iosfwd
 any limits
 any new
 any stdexcept
 any type_traits
 any typeinfo
+any version
 array compare
 array concepts
+array cstddef
 array cstdlib
 array initializer_list
 array limits
 array stdexcept
+array type_traits
+array version
+atomic cstddef
+atomic cstdint
 atomic cstring
 atomic ctime
 atomic iosfwd
 atomic limits
 atomic ratio
+atomic type_traits
+atomic version
 barrier atomic
+barrier cstddef
+barrier cstdint
 barrier cstring
 barrier ctime
 barrier iosfwd
@@ -38,22 +53,31 @@ barrier limits
 barrier new
 barrier ratio
 barrier type_traits
+bit cstdint
 bit cstdlib
 bit limits
 bit type_traits
+bit version
 bitset climits
 bitset concepts
+bitset cstddef
+bitset cstdint
 bitset cstdlib
 bitset cstring
 bitset initializer_list
+bitset iosfwd
 bitset limits
 bitset new
 bitset stdexcept
 bitset string
+bitset type_traits
+bitset version
 ccomplex complex
 charconv cerrno
 charconv cmath
 charconv concepts
+charconv cstddef
+charconv cstdint
 charconv cstdlib
 charconv cstring
 charconv initializer_list
@@ -64,71 +88,111 @@ chrono bit
 chrono charconv
 chrono compare
 chrono concepts
+chrono cstddef
+chrono cstdint
+chrono cstdlib
+chrono cstring
 chrono ctime
+chrono initializer_list
 chrono limits
+chrono locale
 chrono optional
+chrono ostream
 chrono ratio
 chrono sstream
 chrono stdexcept
 chrono string
 chrono string_view
+chrono type_traits
+chrono version
 cinttypes cstdint
 cmath type_traits
+cmath version
 codecvt atomic
 codecvt cctype
 codecvt concepts
+codecvt cstddef
+codecvt cstdint
+codecvt cstdlib
 codecvt cstring
 codecvt initializer_list
+codecvt iosfwd
 codecvt limits
 codecvt mutex
 codecvt new
 codecvt stdexcept
+codecvt string
 codecvt type_traits
 codecvt typeinfo
+codecvt version
 compare cmath
+compare cstddef
+compare cstdint
+compare limits
 compare type_traits
+compare version
 complex cmath
 complex iosfwd
 complex sstream
 complex stdexcept
+complex type_traits
+complex version
+concepts cstddef
 concepts type_traits
+concepts version
 condition_variable atomic
 condition_variable concepts
+condition_variable cstddef
+condition_variable cstdint
+condition_variable cstdlib
 condition_variable cstring
 condition_variable initializer_list
+condition_variable iosfwd
 condition_variable limits
 condition_variable new
+condition_variable ratio
 condition_variable stdexcept
 condition_variable system_error
 condition_variable type_traits
 condition_variable typeinfo
+condition_variable version
 coroutine compare
 coroutine cstddef
+coroutine cstdint
 coroutine cstring
 coroutine limits
 coroutine type_traits
+coroutine version
 cstddef version
 ctgmath ccomplex
+ctgmath cmath
 cwchar cwctype
 cwctype cctype
 deque atomic
 deque compare
 deque concepts
+deque cstddef
+deque cstdint
 deque cstdlib
 deque cstring
 deque initializer_list
+deque iosfwd
 deque limits
 deque new
 deque stdexcept
+deque type_traits
 deque typeinfo
+deque version
 exception cstddef
 exception cstdlib
 exception type_traits
+exception version
 execution version
 experimental/algorithm algorithm
 experimental/algorithm cstddef
 experimental/algorithm type_traits
 experimental/coroutine cstddef
+experimental/coroutine cstdint
 experimental/coroutine cstring
 experimental/coroutine limits
 experimental/coroutine new
@@ -141,6 +205,8 @@ experimental/functional array
 experimental/functional cstddef
 experimental/functional functional
 experimental/functional type_traits
+experimental/functional unordered_map
+experimental/functional vector
 experimental/iterator cstddef
 experimental/iterator iosfwd
 experimental/iterator iterator
@@ -150,6 +216,7 @@ experimental/list list
 experimental/map experimental/memory_resource
 experimental/map map
 experimental/memory_resource cstddef
+experimental/memory_resource cstdlib
 experimental/memory_resource experimental/utility
 experimental/memory_resource limits
 experimental/memory_resource new
@@ -181,17 +248,20 @@ ext/hash_map algorithm
 ext/hash_map cmath
 ext/hash_map concepts
 ext/hash_map cstddef
+ext/hash_map cstdint
 ext/hash_map cstring
 ext/hash_map functional
 ext/hash_map initializer_list
 ext/hash_map limits
 ext/hash_map new
+ext/hash_map stdexcept
 ext/hash_map string
 ext/hash_map type_traits
 ext/hash_set algorithm
 ext/hash_set cmath
 ext/hash_set concepts
 ext/hash_set cstddef
+ext/hash_set cstdint
 ext/hash_set cstring
 ext/hash_set functional
 ext/hash_set initializer_list
@@ -200,16 +270,29 @@ ext/hash_set new
 ext/hash_set string
 ext/hash_set type_traits
 filesystem cerrno
+filesystem compare
 filesystem concepts
+filesystem cstddef
+filesystem cstdint
+filesystem cstdlib
 filesystem ctime
 filesystem iomanip
+filesystem iosfwd
 filesystem limits
+filesystem locale
+filesystem new
 filesystem ratio
 filesystem string
+filesystem string_view
+filesystem system_error
+filesystem type_traits
+filesystem version
 format array
 format bit
 format charconv
 format concepts
+format cstddef
+format cstdint
 format cstdlib
 format cstring
 format initializer_list
@@ -219,39 +302,54 @@ format optional
 format stdexcept
 format string
 format string_view
+format type_traits
 format version
 forward_list atomic
 forward_list compare
 forward_list concepts
 forward_list cstddef
+forward_list cstdint
 forward_list cstdlib
 forward_list cstring
 forward_list initializer_list
+forward_list iosfwd
 forward_list limits
 forward_list new
 forward_list stdexcept
 forward_list type_traits
 forward_list typeinfo
+forward_list version
 fstream atomic
 fstream cctype
 fstream concepts
 fstream cstddef
+fstream cstdint
+fstream cstdio
+fstream cstdlib
 fstream cstring
 fstream filesystem
 fstream initializer_list
+fstream iosfwd
 fstream istream
 fstream limits
 fstream mutex
 fstream new
+fstream ostream
 fstream stdexcept
+fstream string
 fstream type_traits
 fstream typeinfo
+fstream version
 functional array
 functional atomic
 functional concepts
+functional cstddef
+functional cstdint
 functional cstdlib
 functional cstring
+functional exception
 functional initializer_list
+functional iosfwd
 functional limits
 functional memory
 functional new
@@ -261,16 +359,26 @@ functional type_traits
 functional typeinfo
 functional unordered_map
 functional vector
+functional version
+future cstddef
 future exception
 future limits
 future mutex
+future new
 future ratio
+future system_error
 future thread
+future type_traits
+future version
 initializer_list cstddef
 iomanip istream
+iomanip version
 ios atomic
 ios cctype
 ios concepts
+ios cstddef
+ios cstdint
+ios cstdlib
 ios cstring
 ios initializer_list
 ios iosfwd
@@ -278,40 +386,62 @@ ios limits
 ios mutex
 ios new
 ios stdexcept
+ios string
+ios system_error
 ios type_traits
 ios typeinfo
+ios version
 iosfwd version
 iostream ios
 iostream istream
+iostream ostream
+iostream streambuf
 iostream version
 istream concepts
 istream cstddef
 istream iosfwd
 istream ostream
+istream type_traits
+istream version
+iterator compare
 iterator concepts
 iterator cstddef
 iterator cstdlib
+iterator initializer_list
 iterator iosfwd
 iterator limits
 iterator type_traits
 iterator variant
+iterator version
 latch atomic
+latch limits
+latch version
 limits type_traits
+limits version
 list atomic
 list compare
 list concepts
+list cstddef
+list cstdint
 list cstdlib
 list cstring
 list initializer_list
+list iosfwd
 list limits
 list new
 list stdexcept
+list type_traits
 list typeinfo
+list version
 locale atomic
 locale cctype
 locale concepts
+locale cstddef
+locale cstdint
+locale cstdio
 locale cstdlib
 locale cstring
+locale ctime
 locale initializer_list
 locale ios
 locale iosfwd
@@ -320,8 +450,13 @@ locale mutex
 locale new
 locale stdexcept
 locale streambuf
+locale string
+locale type_traits
 locale typeinfo
+locale version
+map compare
 map concepts
+map cstddef
 map cstdlib
 map initializer_list
 map limits
@@ -329,49 +464,76 @@ map new
 map optional
 map stdexcept
 map tuple
+map type_traits
+map version
 memory atomic
 memory compare
 memory concepts
 memory cstddef
+memory cstdint
+memory cstdlib
 memory cstring
 memory initializer_list
+memory iosfwd
 memory limits
 memory new
 memory stdexcept
 memory type_traits
 memory typeinfo
+memory version
 mutex atomic
 mutex concepts
+mutex cstddef
+mutex cstdint
+mutex cstdlib
 mutex cstring
 mutex initializer_list
+mutex iosfwd
 mutex limits
 mutex new
+mutex ratio
 mutex stdexcept
 mutex system_error
 mutex tuple
 mutex type_traits
 mutex typeinfo
+mutex version
 new cstddef
 new cstdlib
 new exception
+new type_traits
+new version
 numbers concepts
+numbers type_traits
+numbers version
 numeric cmath
 numeric concepts
+numeric cstddef
+numeric limits
+numeric type_traits
+numeric version
 optional compare
 optional cstddef
+optional cstdint
 optional cstring
 optional initializer_list
 optional limits
 optional new
 optional stdexcept
 optional type_traits
+optional version
 ostream bitset
+ostream cstddef
+ostream cstdint
 ostream cstring
 ostream ios
 ostream limits
 ostream locale
 ostream new
+ostream streambuf
 ostream type_traits
+ostream version
+queue compare
 queue concepts
 queue cstddef
 queue cstdlib
@@ -380,10 +542,12 @@ queue initializer_list
 queue limits
 queue type_traits
 queue vector
+queue version
 random bit
 random climits
 random cmath
 random concepts
+random cstddef
 random cstdint
 random cstdlib
 random initializer_list
@@ -393,50 +557,70 @@ random numeric
 random string
 random type_traits
 random vector
+random version
+ranges compare
 ranges concepts
+ranges cstddef
 ranges cstdlib
 ranges initializer_list
+ranges iosfwd
 ranges iterator
 ranges limits
+ranges new
 ranges optional
 ranges span
 ranges tuple
 ranges type_traits
 ranges variant
+ranges version
 ratio climits
 ratio cstdint
 ratio type_traits
+ratio version
 regex atomic
 regex cctype
+regex compare
 regex concepts
+regex cstddef
+regex cstdint
 regex cstdlib
 regex cstring
 regex deque
 regex initializer_list
+regex iosfwd
 regex limits
 regex mutex
 regex new
 regex stdexcept
+regex string
 regex type_traits
 regex typeinfo
 regex vector
+regex version
 scoped_allocator cstddef
 scoped_allocator limits
 scoped_allocator new
 scoped_allocator tuple
 scoped_allocator type_traits
+scoped_allocator version
 semaphore atomic
 semaphore ctime
 semaphore iosfwd
 semaphore limits
 semaphore ratio
+semaphore type_traits
+semaphore version
+set compare
 set concepts
+set cstddef
 set cstdlib
 set initializer_list
 set limits
 set new
 set optional
 set stdexcept
+set type_traits
+set version
 shared_mutex version
 span array
 span concepts
@@ -444,18 +628,32 @@ span cstddef
 span initializer_list
 span limits
 span type_traits
+span version
+sstream cstddef
 sstream istream
+sstream ostream
+sstream string
 sstream type_traits
+sstream version
+stack compare
 stack concepts
+stack cstddef
 stack deque
+stack initializer_list
+stack type_traits
+stack version
 stdexcept cstdlib
 stdexcept exception
 stdexcept iosfwd
 streambuf cstdint
 streambuf ios
+streambuf iosfwd
+streambuf version
 string climits
+string compare
 string concepts
 string cstddef
+string cstdint
 string cstdio
 string cstdlib
 string cstring
@@ -467,9 +665,11 @@ string new
 string stdexcept
 string string_view
 string type_traits
+string version
 string_view compare
 string_view concepts
 string_view cstddef
+string_view cstdint
 string_view cstdio
 string_view cstdlib
 string_view cstring
@@ -479,15 +679,23 @@ string_view iosfwd
 string_view limits
 string_view stdexcept
 string_view type_traits
+string_view version
 strstream istream
+strstream ostream
+strstream version
 system_error cerrno
+system_error compare
 system_error cstddef
+system_error cstdint
 system_error cstring
 system_error limits
 system_error stdexcept
 system_error string
 system_error type_traits
+system_error version
+thread compare
 thread cstddef
+thread cstdint
 thread cstring
 thread ctime
 thread iosfwd
@@ -497,17 +705,27 @@ thread ratio
 thread system_error
 thread tuple
 thread type_traits
+thread version
 tuple compare
+tuple cstddef
 tuple type_traits
+tuple version
 type_traits cstddef
 type_traits cstdint
+type_traits version
 typeindex compare
 typeindex typeinfo
+typeindex version
 typeinfo cstddef
 typeinfo cstdint
+typeinfo cstdlib
 typeinfo exception
+typeinfo type_traits
 unordered_map cmath
+unordered_map compare
 unordered_map concepts
+unordered_map cstddef
+unordered_map cstdint
 unordered_map cstdlib
 unordered_map cstring
 unordered_map initializer_list
@@ -517,8 +735,12 @@ unordered_map optional
 unordered_map stdexcept
 unordered_map tuple
 unordered_map type_traits
+unordered_map version
 unordered_set cmath
+unordered_set compare
 unordered_set concepts
+unordered_set cstddef
+unordered_set cstdint
 unordered_set cstdlib
 unordered_set cstring
 unordered_set initializer_list
@@ -527,20 +749,28 @@ unordered_set new
 unordered_set optional
 unordered_set stdexcept
 unordered_set type_traits
+unordered_set version
 utility compare
 utility cstddef
 utility cstdlib
 utility initializer_list
 utility limits
 utility type_traits
+utility version
 valarray cmath
 valarray concepts
+valarray cstddef
 valarray cstdlib
 valarray cstring
 valarray initializer_list
 valarray limits
 valarray new
 valarray stdexcept
+valarray type_traits
+valarray version
+variant compare
+variant cstddef
+variant cstdint
 variant cstring
 variant exception
 variant initializer_list
@@ -548,13 +778,20 @@ variant limits
 variant new
 variant tuple
 variant type_traits
+variant version
 vector atomic
+vector climits
 vector compare
 vector concepts
+vector cstddef
+vector cstdint
 vector cstdlib
 vector cstring
 vector initializer_list
+vector iosfwd
 vector limits
 vector new
 vector stdexcept
+vector type_traits
 vector typeinfo
+vector version

diff  --git a/libcxx/test/libcxx/transitive_includes_to_csv.py b/libcxx/test/libcxx/transitive_includes_to_csv.py
index ce9fb79a6bb3..42ac69fad523 100755
--- a/libcxx/test/libcxx/transitive_includes_to_csv.py
+++ b/libcxx/test/libcxx/transitive_includes_to_csv.py
@@ -83,7 +83,7 @@ def create_include_graph(path: pathlib.Path) -> List[str]:
 def print_csv(graph: List[str]) -> None:
     for includes in graph:
         header = includes[0]
-        for include in sorted(includes[1:]):
+        for include in sorted(set(includes[1:])):
             if header == include:
                 sys.exit(f"Cycle detected: header {header} includes itself.")
             print(f"{header} {include}")


        


More information about the libcxx-commits mailing list