[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