[libcxx-commits] [libcxx] [libc++][C++03] Fix ODR tests (PR #169349)

Nikolas Klauser via libcxx-commits libcxx-commits at lists.llvm.org
Mon Nov 24 08:00:23 PST 2025


https://github.com/philnik777 created https://github.com/llvm/llvm-project/pull/169349

We don't really need to include `<__config>`. We just need to include a public C++ header.


>From 80985f9a055683b6804d1e9e74441dff62b6af44 Mon Sep 17 00:00:00 2001
From: Nikolas Klauser <nikolasklauser at berlin.de>
Date: Mon, 24 Nov 2025 16:59:19 +0100
Subject: [PATCH] [libc++][C++03] Fix ODR tests

---
 .../extensions/libcxx/odr_signature.exceptions.sh.cpp  |  6 ++----
 .../extensions/libcxx/odr_signature.hardening.sh.cpp   | 10 ++++------
 2 files changed, 6 insertions(+), 10 deletions(-)

diff --git a/libcxx/test/extensions/libcxx/odr_signature.exceptions.sh.cpp b/libcxx/test/extensions/libcxx/odr_signature.exceptions.sh.cpp
index c0ba48eb245d2..61aaf4f952a66 100644
--- a/libcxx/test/extensions/libcxx/odr_signature.exceptions.sh.cpp
+++ b/libcxx/test/extensions/libcxx/odr_signature.exceptions.sh.cpp
@@ -9,8 +9,6 @@
 // ABI tags have no effect in MSVC mode.
 // XFAIL: msvc
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // Test that we encode whether exceptions are supported in an ABI tag to avoid
 // ODR violations when linking TUs that have different values for it.
 
@@ -24,14 +22,14 @@
 
 // -fno-exceptions
 #ifdef TU1
-#  include <__config>
+#  include <version>
 _LIBCPP_HIDE_FROM_ABI TEST_NOINLINE inline int f() { return 1; }
 int tu1() { return f(); }
 #endif // TU1
 
 // -fexceptions
 #ifdef TU2
-#  include <__config>
+#  include <version>
 _LIBCPP_HIDE_FROM_ABI TEST_NOINLINE inline int f() { return 2; }
 int tu2() { return f(); }
 #endif // TU2
diff --git a/libcxx/test/extensions/libcxx/odr_signature.hardening.sh.cpp b/libcxx/test/extensions/libcxx/odr_signature.hardening.sh.cpp
index 8daf3f3fd0463..28647d78c64cd 100644
--- a/libcxx/test/extensions/libcxx/odr_signature.hardening.sh.cpp
+++ b/libcxx/test/extensions/libcxx/odr_signature.hardening.sh.cpp
@@ -9,8 +9,6 @@
 // ABI tags have no effect in MSVC mode.
 // XFAIL: msvc
 
-// XFAIL: FROZEN-CXX03-HEADERS-FIXME
-
 // Test that we encode the hardening mode in an ABI tag to avoid ODR violations
 // when linking TUs that have different values for it.
 
@@ -27,28 +25,28 @@
 
 // fast hardening mode
 #ifdef TU1
-#  include <__config>
+#  include <version>
 _LIBCPP_HIDE_FROM_ABI TEST_NOINLINE inline int f() { return 1; }
 int tu1() { return f(); }
 #endif // TU1
 
 // extensive hardening mode
 #ifdef TU2
-#  include <__config>
+#  include <version>
 _LIBCPP_HIDE_FROM_ABI TEST_NOINLINE inline int f() { return 2; }
 int tu2() { return f(); }
 #endif // TU2
 
 // debug hardening mode
 #ifdef TU3
-#  include <__config>
+#  include <version>
 _LIBCPP_HIDE_FROM_ABI TEST_NOINLINE inline int f() { return 3; }
 int tu3() { return f(); }
 #endif // TU3
 
 // No hardening
 #ifdef TU4
-#  include <__config>
+#  include <version>
 _LIBCPP_HIDE_FROM_ABI TEST_NOINLINE inline int f() { return 4; }
 int tu4() { return f(); }
 #endif // TU4



More information about the libcxx-commits mailing list