Skip to content

[libc++][C++03] Remove XFAILs from the non-frozen libc++-specific tests #144101

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: users/philnik777/cxx03_tests_remove_non_cxx03_tests
Choose a base branch
from

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

⚠️ 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_modules_include.gen.py libcxx/test/libcxx/clang_tidy.gen.py libcxx/test/libcxx/header_inclusions.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-06-13 15:49:01.000000 +0000
+++ clang_tidy.gen.py	2025-06-13 15:53:41.838897 +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]

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