[libcxx-commits] [libcxx] [libcxx][test] Add feature for platforms where long double is double (PR #103903)
David Spickett via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Aug 14 05:54:16 PDT 2024
https://github.com/DavidSpickett created https://github.com/llvm/llvm-project/pull/103903
Instead of having to match a whole bunch of different target names.
>From 07d5be28203742d39e1bcb09e7333fd311074f0b Mon Sep 17 00:00:00 2001
From: David Spickett <david.spickett at linaro.org>
Date: Wed, 14 Aug 2024 12:49:05 +0000
Subject: [PATCH] [libcxx][test] Add feature for platforms where sizeof(long
double) == sizeof(double)
Instead of having to match a whole bunch of different target names.
---
.../cmp.alg/strong_order_long_double.verify.cpp | 17 +----------------
libcxx/utils/libcxx/test/features.py | 12 ++++++++++++
2 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp b/libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
index c9c2ba20021491..7310a38509a3f4 100644
--- a/libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
+++ b/libcxx/test/std/language.support/cmp/cmp.alg/strong_order_long_double.verify.cpp
@@ -6,22 +6,7 @@
//
//===----------------------------------------------------------------------===//
-// UNSUPPORTED: c++03, c++11, c++14, c++17
-
-// The following platforms have sizeof(long double) == sizeof(double), so this test doesn't apply to them.
-// This test does apply to aarch64 where Arm's AAPCS64 is followed. There they are different sizes.
-// XFAIL: target={{arm64|arm64e|armv(7|8)(l|m)?|powerpc|powerpc64}}-{{.+}}
-
-// MSVC configurations have long double equal to regular double on all
-// architectures.
-// XFAIL: target={{.+}}-pc-windows-msvc
-
-// ARM/AArch64 MinGW also has got long double equal to regular double, just
-// like MSVC (thus match both MinGW and MSVC here, for those architectures).
-// XFAIL: target={{aarch64|armv7}}-{{.*}}-windows-{{.+}}
-
-// Android's 32-bit x86 target has long double equal to regular double.
-// XFAIL: target=i686-{{.+}}-android{{.*}}
+// UNSUPPORTED: c++03, c++11, c++14, c++17, long-double-is-double
// <compare>
diff --git a/libcxx/utils/libcxx/test/features.py b/libcxx/utils/libcxx/test/features.py
index 97cdb0349885d6..cc0de556ae82cc 100644
--- a/libcxx/utils/libcxx/test/features.py
+++ b/libcxx/utils/libcxx/test/features.py
@@ -227,6 +227,18 @@ def _mingwSupportsModules(cfg):
""",
),
),
+ Feature(
+ name="long-double-is-double",
+ when=lambda cfg: sourceBuilds(
+ cfg,
+ """
+ int main(int, char**) {
+ static_assert(sizeof(long double) == sizeof(double));
+ return 0;
+ }
+ """,
+ ),
+ ),
# Check for a Windows UCRT bug (fixed in UCRT/Windows 10.0.20348.0):
# https://developercommunity.visualstudio.com/t/utf-8-locales-break-ctype-functions-for-wchar-type/1653678
Feature(
More information about the libcxx-commits
mailing list