Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

philnik777
Copy link
Contributor

The tests in libcxx/test/libcxx aren't run against the frozen headers anymore, so we can remove any XFAILs in them.

This is part of https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.

Copy link

github-actions bot commented Jun 13, 2025

⚠️ Python code formatter, darker found issues in your code. ⚠️

You can test this locally with the following command:
darker --check --diff -r HEAD~1...HEAD libcxx/test/libcxx/clang_tidy.gen.py libcxx/test/libcxx/system_reserved_names.gen.py libcxx/test/libcxx/transitive_includes.gen.py
View the diff from darker here.
--- clang_tidy.gen.py	2025-08-26 08:36:54.000000 +0000
+++ clang_tidy.gen.py	2025-08-26 08:40:02.036540 +0000
@@ -17,11 +17,12 @@
 import sys
 sys.path.append(sys.argv[1])
 from libcxx.header_information import lit_header_restrictions, lit_header_undeprecations, public_headers
 
 for header in public_headers:
-  print(f"""\
+    print(
+        f"""\
 //--- {header}.sh.cpp
 
 // REQUIRES: has-clang-tidy
 
 // The GCC compiler flags are not always compatible with clang-tidy.
@@ -32,6 +33,7 @@
 
 // TODO: run clang-tidy with modules enabled once they are supported
 // RUN: %{{clang-tidy}} %s --warnings-as-errors=* -header-filter=.* --config-file=%{{libcxx-dir}}/.clang-tidy --load=%{{test-tools-dir}}/clang_tidy_checks/libcxx-tidy.plugin -- -Wweak-vtables %{{compile_flags}} -fno-modules
 
 #include <{header}>
-""")
+"""
+    )

@philnik777 philnik777 marked this pull request as ready for review June 17, 2025 05:21
@philnik777 philnik777 requested a review from a team as a code owner June 17, 2025 05:21
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Jun 17, 2025
@llvmbot
Copy link
Member

llvmbot commented Jun 17, 2025

@llvm/pr-subscribers-libcxx

Author: Nikolas Klauser (philnik777)

Changes

The tests in libcxx/test/libcxx aren't run against the frozen headers anymore, so we can remove any XFAILs in them.

This is part of https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc.


Patch is 33.00 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/144101.diff

61 Files Affected:

  • (modified) libcxx/test/libcxx/algorithms/half_positive.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/assertions/modes/none.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/assertions/single_expression.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp (-2)
  • (modified) libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp (-2)
  • (modified) libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp (-2)
  • (modified) libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp (-2)
  • (modified) libcxx/test/libcxx/clang_modules_include.gen.py (-2)
  • (modified) libcxx/test/libcxx/clang_tidy.gen.py (-3)
  • (modified) libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/container_traits.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/containers/unord/next_prime.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/header_inclusions.gen.py (-1)
  • (modified) libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp (-2)
  • (modified) libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp (-2)
  • (modified) libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp (-2)
  • (modified) libcxx/test/libcxx/memory/allocation_guard.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/memory/swap_allocator.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/numerics/bit.ops.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/numerics/clamp_to_integral.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/numerics/complex.number/cmplx.over.pow.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/selftest/test_macros.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/strings/basic.string/string.capacity/max_size.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/strings/c.strings/constexpr_memmove.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/system_reserved_names.gen.py (-2)
  • (modified) libcxx/test/libcxx/transitive_includes.gen.py (-2)
  • (modified) libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/type_traits/desugars_to.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/type_traits/is_constant_evaluated.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/type_traits/is_replaceable.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/type_traits/is_trivially_comparable.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/utilities/exception_guard.odr.sh.cpp (-2)
  • (modified) libcxx/test/libcxx/utilities/function.objects/refwrap/desugars_to.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/utilities/is_pointer_in_range.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/utilities/is_valid_range.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/utilities/meta/is_referenceable.compile.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/utilities/meta/meta_base.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/utilities/no_destroy.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/utilities/template.bitset/includes.pass.cpp (-2)
  • (modified) libcxx/test/libcxx/utilities/utility/private_constructor_tag.compile.pass.cpp (-2)
diff --git a/libcxx/test/libcxx/algorithms/half_positive.pass.cpp b/libcxx/test/libcxx/algorithms/half_positive.pass.cpp
index 88a18e8592921..40f4697419572 100644
--- a/libcxx/test/libcxx/algorithms/half_positive.pass.cpp
+++ b/libcxx/test/libcxx/algorithms/half_positive.pass.cpp
@@ -11,8 +11,6 @@
 // __half_positive divides an integer number by 2 as unsigned number for known types.
 // It can be an important optimization for lower bound, for example.
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__algorithm/half_positive.h>
 #include <cassert>
 #include <cstddef>
diff --git a/libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp b/libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp
index 733a147b80cc3..61f925ddcdcd1 100644
--- a/libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp
+++ b/libcxx/test/libcxx/algorithms/vectorization.compile.pass.cpp
@@ -9,8 +9,6 @@
 // We don't know how to vectorize algorithms on GCC
 // XFAIL: gcc
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // We don't vectorize algorithms before C++14
 // XFAIL: c++03, c++11
 
diff --git a/libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp b/libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
index 390c6b6db190d..21e9003c30b70 100644
--- a/libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
+++ b/libcxx/test/libcxx/assertions/customize_verbose_abort.link-time.pass.cpp
@@ -12,8 +12,6 @@
 // failures when back-deploying.
 // XFAIL: availability-verbose_abort-missing
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__verbose_abort>
 #include <cstdlib>
 
diff --git a/libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp b/libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
index 803868b757794..0cc4b1e005226 100644
--- a/libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
+++ b/libcxx/test/libcxx/assertions/default_verbose_abort.pass.cpp
@@ -9,8 +9,6 @@
 // Test that the default verbose termination function aborts the program.
 // XFAIL: availability-verbose_abort-missing
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__verbose_abort>
 #include <csignal>
 #include <cstdlib>
diff --git a/libcxx/test/libcxx/assertions/modes/none.pass.cpp b/libcxx/test/libcxx/assertions/modes/none.pass.cpp
index b64290a31a129..8332848c1a8e0 100644
--- a/libcxx/test/libcxx/assertions/modes/none.pass.cpp
+++ b/libcxx/test/libcxx/assertions/modes/none.pass.cpp
@@ -11,8 +11,6 @@
 
 // REQUIRES: libcpp-hardening-mode=none
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__assert>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/assertions/single_expression.pass.cpp b/libcxx/test/libcxx/assertions/single_expression.pass.cpp
index 474edc9dc0833..13253e4cb6ef5 100644
--- a/libcxx/test/libcxx/assertions/single_expression.pass.cpp
+++ b/libcxx/test/libcxx/assertions/single_expression.pass.cpp
@@ -10,8 +10,6 @@
 // This is useful so we can use them  in places that require an expression, such as
 // in a constructor initializer list.
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__assert>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp b/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp
index 320ef57dcb6f9..f114efe4e64da 100644
--- a/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp
+++ b/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add.verify.cpp
@@ -6,8 +6,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // <atomic>
 
 // template <class T>
diff --git a/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp b/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp
index bdd8089feb281..04e9c458321df 100644
--- a/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp
+++ b/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_add_explicit.verify.cpp
@@ -6,8 +6,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // <atomic>
 
 // template <class T>
diff --git a/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp b/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp
index 2c9f89891d5be..dd95c23273733 100644
--- a/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp
+++ b/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub.verify.cpp
@@ -6,8 +6,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // <atomic>
 
 // template <class T>
diff --git a/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp b/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp
index 88c42750b608a..b4d4f0a1fc70d 100644
--- a/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp
+++ b/libcxx/test/libcxx/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_sub_explicit.verify.cpp
@@ -6,8 +6,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // <atomic>
 
 // template <class T>
diff --git a/libcxx/test/libcxx/clang_modules_include.gen.py b/libcxx/test/libcxx/clang_modules_include.gen.py
index 379ac22c8f47f..dc815d9c772b5 100644
--- a/libcxx/test/libcxx/clang_modules_include.gen.py
+++ b/libcxx/test/libcxx/clang_modules_include.gen.py
@@ -52,8 +52,6 @@
 // TODO: Fix seemingly circular inclusion or <wchar.h> on AIX
 // UNSUPPORTED: LIBCXX-AIX-FIXME
 
-// UNSUPPORTED: FROZEN-CXX03-HEADERS-FIXME
-
 {lit_header_restrictions.get(header, '')}
 {lit_header_undeprecations.get(header, '')}
 
diff --git a/libcxx/test/libcxx/clang_tidy.gen.py b/libcxx/test/libcxx/clang_tidy.gen.py
index dbab2875e3126..1663f5c396bbf 100644
--- a/libcxx/test/libcxx/clang_tidy.gen.py
+++ b/libcxx/test/libcxx/clang_tidy.gen.py
@@ -24,9 +24,6 @@
 
 // REQUIRES: has-clang-tidy
 
-// The frozen headers should not be updated to the latest libc++ style, so don't test.
-// UNSUPPORTED: FROZEN-CXX03-HEADERS-FIXME
-
 // The GCC compiler flags are not always compatible with clang-tidy.
 // UNSUPPORTED: gcc
 
diff --git a/libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
index ccd84af44c3a5..4fb9d8e6775ae 100644
--- a/libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_balance_after_insert.pass.cpp
@@ -13,8 +13,6 @@
 // void
 // __tree_balance_after_insert(_NodePtr __root, _NodePtr __x)
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__tree>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
index 04dcb8f54fafc..472969fadb266 100644
--- a/libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_key_value_traits.pass.cpp
@@ -6,8 +6,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__tree>
 #include <map>
 #include <set>
diff --git a/libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
index d97a1c89f1f70..e6cc646f3c137 100644
--- a/libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_left_rotate.pass.cpp
@@ -13,8 +13,6 @@
 // void
 // __tree_left_rotate(_NodePtr __x);
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__tree>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
index e543c3360a685..dd9e7afcdb7d3 100644
--- a/libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_remove.pass.cpp
@@ -13,8 +13,6 @@
 // void
 // __tree_remove(_NodePtr __root, _NodePtr __z)
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__tree>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp b/libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
index b86446f5be101..f3297dedb64e5 100644
--- a/libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/tree_right_rotate.pass.cpp
@@ -13,8 +13,6 @@
 // void
 // __tree_right_rotate(_NodePtr __x);
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__tree>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp b/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
index 55d42a8d017e1..cea074a4e70f1 100644
--- a/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/unord.map/abi.compile.pass.cpp
@@ -12,8 +12,6 @@
 // unordered containers changes when bounded unique_ptr is enabled.
 // UNSUPPORTED: libcpp-has-abi-bounded-unique_ptr
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <cstdint>
 #include <unordered_map>
 
diff --git a/libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp b/libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
index bee2012bbea29..2a112aff227d8 100644
--- a/libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
+++ b/libcxx/test/libcxx/containers/associative/unord.set/abi.compile.pass.cpp
@@ -12,8 +12,6 @@
 // unordered containers changes when bounded unique_ptr is enabled.
 // UNSUPPORTED: libcpp-has-abi-bounded-unique_ptr
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <cstdint>
 #include <unordered_set>
 
diff --git a/libcxx/test/libcxx/containers/container_traits.compile.pass.cpp b/libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
index 22be217487951..1452bfbaf3960 100644
--- a/libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
+++ b/libcxx/test/libcxx/containers/container_traits.compile.pass.cpp
@@ -9,8 +9,6 @@
 // <__type_traits/container_traits.h>
 //
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__type_traits/container_traits.h>
 
 #include <deque>
diff --git a/libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp b/libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
index e00a028489a72..b93bb93dcb7b1 100644
--- a/libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
+++ b/libcxx/test/libcxx/containers/unord/key_value_traits.pass.cpp
@@ -6,8 +6,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__hash_table>
 #include <unordered_map>
 #include <unordered_set>
diff --git a/libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp b/libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
index 53a1dd2d3fa76..8a9e1da01592e 100644
--- a/libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
+++ b/libcxx/test/libcxx/containers/unord/next_pow2.pass.cpp
@@ -18,8 +18,6 @@
 // If n <= 1, return n. If n is a power of 2, return n.
 // Otherwise, return the next power of 2.
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__hash_table>
 #include <cassert>
 #include <cstdint>
diff --git a/libcxx/test/libcxx/containers/unord/next_prime.pass.cpp b/libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
index 44b0eb96e2b9b..c4daabb63e4cf 100644
--- a/libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
+++ b/libcxx/test/libcxx/containers/unord/next_prime.pass.cpp
@@ -16,8 +16,6 @@
 
 // If n == 0, return 0, else return the lowest prime greater than or equal to n
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__hash_table>
 #include <cassert>
 #include <cstddef>
diff --git a/libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp b/libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
index f756aacbc1cd5..d0ac71739d7e3 100644
--- a/libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
+++ b/libcxx/test/libcxx/depr/depr.c.headers/extern_c.pass.cpp
@@ -10,8 +10,6 @@
 // that we don't want to support and can't support with LSV enabled.
 // UNSUPPORTED: clang-modules-build
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // Sometimes C++'s <foo.h> headers get included within extern "C" contexts. This
 // is ill-formed (no diagnostic required), per [using.headers]p3, but we permit
 // it as an extension.
diff --git a/libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp b/libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
index 3cf497da233fb..5449d735d875a 100644
--- a/libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
+++ b/libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
@@ -14,8 +14,6 @@
 
 // ADDITIONAL_COMPILE_FLAGS: -fexperimental-library
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <version>
 
 #if !_LIBCPP_HAS_EXPERIMENTAL_PSTL
diff --git a/libcxx/test/libcxx/header_inclusions.gen.py b/libcxx/test/libcxx/header_inclusions.gen.py
index e00cf180d17ad..d1a413a6b463c 100644
--- a/libcxx/test/libcxx/header_inclusions.gen.py
+++ b/libcxx/test/libcxx/header_inclusions.gen.py
@@ -46,7 +46,6 @@
     print(
         f"""\
 //--- {header}.compile.pass.cpp
-// UNSUPPORTED: FROZEN-CXX03-HEADERS-FIXME
 
 {lit_header_restrictions.get(header, '')}
 {lit_header_undeprecations.get(header, '')}
diff --git a/libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp b/libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
index 2b6c3802a56b6..d6caa3389b8fa 100644
--- a/libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
+++ b/libcxx/test/libcxx/input.output/string.streams/stringbuf/const_sso_buffer.pass.cpp
@@ -8,8 +8,6 @@
 
 // <sstream>
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // How the constructors of basic_stringbuf initialize the buffer pointers is
 // not specified. For some constructors it's implementation defined whether the
 // pointers are set to nullptr. Libc++'s implementation directly uses the SSO
diff --git a/libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp b/libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
index 33774578e2337..60587d5bfe5d7 100644
--- a/libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
+++ b/libcxx/test/libcxx/iterators/aliasing_iterator.pass.cpp
@@ -8,8 +8,6 @@
 
 // ADDITIONAL_COMPILE_FLAGS(clang): -Wprivate-header
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__iterator/aliasing_iterator.h>
 #include <cassert>
 
diff --git a/libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp b/libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
index 3fc735b441676..45d0cc3b95f90 100644
--- a/libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
+++ b/libcxx/test/libcxx/iterators/bounded_iter/arithmetic.pass.cpp
@@ -11,8 +11,6 @@
 //
 // Arithmetic operators
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__iterator/bounded_iter.h>
 #include <cstddef>
 
diff --git a/libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp b/libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
index a12b77afa0db0..cef2157469c8f 100644
--- a/libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
+++ b/libcxx/test/libcxx/iterators/bounded_iter/comparison.pass.cpp
@@ -11,8 +11,6 @@
 //
 // Comparison operators
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <concepts>
 #include <__iterator/bounded_iter.h>
 
diff --git a/libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp b/libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
index 22ad8c6706d6f..bfd779d644f51 100644
--- a/libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
+++ b/libcxx/test/libcxx/iterators/bounded_iter/pointer_traits.pass.cpp
@@ -11,8 +11,6 @@
 //
 // std::pointer_traits specialization
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__iterator/bounded_iter.h>
 #include <cassert>
 #include <cstddef>
diff --git a/libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp b/libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
index d205c5b03ee3f..56ded9ae5ed21 100644
--- a/libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
+++ b/libcxx/test/libcxx/iterators/bounded_iter/types.compile.pass.cpp
@@ -11,8 +11,6 @@
 //
 // Nested types
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <__iterator/bounded_iter.h>
 #include <cstddef>
 #include <iterator>
diff --git a/libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp b/libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
index 4d3690953070f..372559594143e 100644
--- a/libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
+++ b/libcxx/test/libcxx/iterators/contiguous_iterators.conv.compile.pass.cpp
@@ -15,8 +15,6 @@
 
 // Verify that libc++-wrapped iterators do not permit slicing conversion or construction.
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <array>
 #include <span>
 #include <type_traits>
diff --git a/libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp b/libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
index ba2697c78986c..479d40a5eb088 100644
--- a/libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
+++ b/libcxx/test/libcxx/iterators/contiguous_iterators.verify.cpp
@@ -11,8 +11,6 @@
 
 // __bounded_iter<_Iter>
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // Verify that __bounded_iter does not accept non-contiguous iterators as determined by __libcpp_is_contiguous_iterator.
 // static_assert should be used, see https://github.com/llvm/llvm-project/issues/115002.
 // __wrap_iter cannot be so handled because it may directly wrap user-defined fancy pointers in libc++'s vector.
diff --git a/libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp b/libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
index ffef687723983..da0a336815a5c 100644
--- a/libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
+++ b/libcxx/test/libcxx/iterators/iterator.primitives/iterator.operations/prev.verify.cpp
@@ -8,8 +8,6 @@
 
 // std::prev
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 #include <iterator>
 #include "test_iterators.h"
 
diff --git a/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp b/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
index 7ead65caf9fda..4bb42cb532078 100644
--- a/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
+++ b/libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
@@ -21,8 +21,6 @@
 // GCC doesn't support the aligned-allocation flags.
 // XFAIL: gcc
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // RUN: %{build} -faligned-allocation -fsized-deallocation
 // RUN: %{run}
 // RUN: %{build} -faligned-allocation -fno-sized-deallocation -DNO_SIZE
diff --git a/libcxx/test/libcxx/memory/allocation_guard.pass.cpp b/libcxx/test/libcxx/memory/allocation_guard.pass.cpp
index 20c05b381ef0e..493ebf044187c 100644
--- a/libcxx/test/libcxx/memory/allocation_guard.pass.cpp
+++ b/libcxx/test/libcxx/memory/allocation_guard.pass.cpp
@@ -12,8 +12,6 @@
 // To allow checking that self-move works correctly.
 // ADDITIONAL_COMPILE_FLAGS: -Wno-self-move
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // template<class _Alloc>
 // struct __all...
[truncated]

@philnik777 philnik777 force-pushed the users/philnik777/cxx03_remove_xfail_from_non_frozen_tests branch from e080572 to 219ba16 Compare August 26, 2025 07:01
@philnik777 philnik777 changed the base branch from users/philnik777/cxx03_tests_remove_non_cxx03_tests to main August 26, 2025 07:01
@philnik777
Copy link
Contributor Author

Sorry everyone, I've changed the base a bit early.

@philnik777 philnik777 force-pushed the users/philnik777/cxx03_remove_xfail_from_non_frozen_tests branch from 219ba16 to fb22029 Compare August 26, 2025 08:37
@philnik777 philnik777 merged commit 943a00e into main Aug 26, 2025
64 of 69 checks passed
@philnik777 philnik777 deleted the users/philnik777/cxx03_remove_xfail_from_non_frozen_tests branch August 26, 2025 09:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants