[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