[libcxx-commits] [libcxx] [libc++][test] disable all atomic<long double> tests (PR #74201)
via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Dec 6 07:33:45 PST 2023
https://github.com/huixie90 updated https://github.com/llvm/llvm-project/pull/74201
>From e947364a2cdfdc42b57be726834ca2e84ecbbfb7 Mon Sep 17 00:00:00 2001
From: Hui <hui.xie0621 at gmail.com>
Date: Sat, 2 Dec 2023 17:57:23 +0000
Subject: [PATCH 1/3] [libc++][test] disable all atomic<long double> tests
---
.../atomics.types.float/lockfree.pass.cpp | 3 ++-
.../atomics.types.float/assign.pass.cpp | 3 ++-
.../atomics.types.float/compare_exchange_weak.pass.cpp | 6 ++----
.../atomics.types.float/ctor.pass.cpp | 3 ++-
.../atomics.types.float/exchange.pass.cpp | 6 ++----
.../atomics.types.float/fetch_add.pass.cpp | 8 ++------
.../atomics.types.float/fetch_sub.pass.cpp | 8 ++------
.../atomics.types.float/load.pass.cpp | 5 ++---
.../atomics.types.float/lockfree.pass.cpp | 3 ++-
.../atomics.types.float/notify_all.pass.cpp | 3 ++-
.../atomics.types.float/notify_one.pass.cpp | 3 ++-
.../atomics.types.float/operator.float.pass.cpp | 3 ++-
.../atomics.types.float/operator.minus_equals.pass.cpp | 6 ++----
.../atomics.types.float/operator.plus_equals.pass.cpp | 6 ++----
.../atomics.types.float/store.pass.cpp | 5 ++---
.../atomics.types.float/wait.pass.cpp | 6 ++----
16 files changed, 32 insertions(+), 45 deletions(-)
diff --git a/libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp b/libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
index 42a7c08fa75ba..3d5a6e1bfc550 100644
--- a/libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
+++ b/libcxx/test/libcxx/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
@@ -45,7 +45,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
index 66f6c91b802cb..f33f4ad428256 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/assign.pass.cpp
@@ -56,7 +56,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
index ee1a00c284276..bab4cbfc2c6d6 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/compare_exchange_weak.pass.cpp
@@ -236,10 +236,8 @@ int main(int, char**) {
test<float>();
test<double>();
-// https://github.com/llvm/llvm-project/issues/47978
-#ifndef TEST_COMPILER_CLANG
- test<long double>();
-#endif
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
index aad6354084761..628e67fc8b5cf 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/ctor.pass.cpp
@@ -56,7 +56,8 @@ constexpr void testOne() {
constexpr bool test() {
testOne<float>();
testOne<double>();
- testOne<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // testOne<long double>();
return true;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
index c0d1eb686db7a..15ea4283f5038 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/exchange.pass.cpp
@@ -6,9 +6,6 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
-// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
-// XFAIL: target={{x86_64-.*}} && tsan
-// XFAIL: target={{x86_64-.*}} && msan
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
@@ -72,7 +69,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
index c31243053e69f..03b71a7bc45c1 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
@@ -6,11 +6,6 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
-// UNSUPPORTED: LIBCXX-AIX-FIXME
-// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
-// XFAIL: target={{x86_64-.*}} && tsan
-// Hangs with msan.
-// UNSUPPORTED: msan
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
@@ -114,7 +109,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
index d26d21dec1b33..48746646b1506 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
@@ -6,11 +6,6 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
-// UNSUPPORTED: LIBCXX-AIX-FIXME
-// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
-// XFAIL: target={{x86_64-.*}} && tsan
-// Hangs with msan.
-// UNSUPPORTED: msan
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
@@ -115,7 +110,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
index b567af457dcae..c7da6f9b4c15f 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/load.pass.cpp
@@ -6,9 +6,7 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
-// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
// XFAIL: !has-64-bit-atomics
-// XFAIL: target={{x86_64-.*}} && tsan
// UNSUPPORTED: !non-lockfree-atomics
// floating-point-type load(memory_order = memory_order::seq_cst) volatile noexcept;
@@ -134,7 +132,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
index b5422c0362dc1..13e2e110d0f27 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/lockfree.pass.cpp
@@ -55,7 +55,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
index b50c0ad9ee92e..33c4466787599 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_all.pass.cpp
@@ -93,7 +93,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
index aee4af186b9ff..0c7b305d95c61 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/notify_one.pass.cpp
@@ -77,7 +77,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
index 5d957ca68404a..2f5b769cc774a 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.float.pass.cpp
@@ -52,7 +52,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
index 269eb819524f9..38b1658d1b7dd 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
@@ -7,10 +7,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
// XFAIL: !has-64-bit-atomics
-// UNSUPPORTED: LIBCXX-AIX-FIXME
// UNSUPPORTED: !non-lockfree-atomics
-// Hangs with msan.
-// UNSUPPORTED: msan
// floating-point-type operator-=(floating-point-type) volatile noexcept;
// floating-point-type operator-=(floating-point-type) noexcept;
@@ -98,7 +95,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
index 9a2298ea46d66..3c15accc0c1cc 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
@@ -7,10 +7,7 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
// XFAIL: !has-64-bit-atomics
-// UNSUPPORTED: LIBCXX-AIX-FIXME
// UNSUPPORTED: !non-lockfree-atomics
-// Hangs with msan.
-// UNSUPPORTED: msan
// floating-point-type operator+=(floating-point-type) volatile noexcept;
// floating-point-type operator+=(floating-point-type) noexcept;
@@ -98,7 +95,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
index b0888aac67dbb..ce78cbafa5c79 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/store.pass.cpp
@@ -6,9 +6,7 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
-// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
// XFAIL: !has-64-bit-atomics
-// XFAIL: target={{x86_64-.*}} && tsan
// UNSUPPORTED: !non-lockfree-atomics
// void store(floating-point-type, memory_order = memory_order::seq_cst) volatile noexcept;
@@ -109,7 +107,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
index 8e003a7e365da..ea11e9fd03bf7 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/wait.pass.cpp
@@ -7,9 +7,6 @@
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
// XFAIL: availability-synchronization_library-missing
-// Clang's support for atomic operations on long double is broken. See https://github.com/llvm/llvm-project/issues/72893
-// XFAIL: target={{x86_64-.*}} && tsan
-// XFAIL: target={{x86_64-.*}} && msan
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
@@ -120,7 +117,8 @@ void test() {
int main(int, char**) {
test<float>();
test<double>();
- test<long double>();
+ // https://github.com/llvm/llvm-project/issues/47978
+ // test<long double>();
return 0;
}
>From 5823b09ee235f9f5324387dc1922ac454aef2896 Mon Sep 17 00:00:00 2001
From: Hui <hui.xie0621 at gmail.com>
Date: Sat, 2 Dec 2023 19:23:29 +0000
Subject: [PATCH 2/3] revert aix
---
.../atomics.types.generic/atomics.types.float/fetch_add.pass.cpp | 1 +
.../atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp | 1 +
.../atomics.types.float/operator.minus_equals.pass.cpp | 1 +
.../atomics.types.float/operator.plus_equals.pass.cpp | 1 +
4 files changed, 4 insertions(+)
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
index 03b71a7bc45c1..682e054a1ba2e 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
@@ -6,6 +6,7 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
+// UNSUPPORTED: LIBCXX-AIX-FIXME
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
index 48746646b1506..c320145596db0 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
@@ -6,6 +6,7 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
+// UNSUPPORTED: LIBCXX-AIX-FIXME
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
index 38b1658d1b7dd..ffaac57945cf1 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
@@ -6,6 +6,7 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
+// UNSUPPORTED: LIBCXX-AIX-FIXME
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
index 3c15accc0c1cc..28ce566c8de8b 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
@@ -6,6 +6,7 @@
//
//===----------------------------------------------------------------------===//
// UNSUPPORTED: c++03, c++11, c++14, c++17
+// UNSUPPORTED: LIBCXX-AIX-FIXME
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
>From 8bccfd6321fdd5545393766589e1ed5ceeae420b Mon Sep 17 00:00:00 2001
From: Hui <hui.xie0621 at gmail.com>
Date: Mon, 4 Dec 2023 19:55:40 +0000
Subject: [PATCH 3/3] CI
---
.../atomics.types.float/fetch_add.pass.cpp | 3 +++
.../atomics.types.float/fetch_sub.pass.cpp | 3 +++
2 files changed, 6 insertions(+)
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
index 682e054a1ba2e..06196f10cee94 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
@@ -10,6 +10,9 @@
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
+// https://github.com/llvm/llvm-project/issues/72893
+// XFAIL: target={{x86_64-.*}} && tsan
+
// floating-point-type fetch_add(floating-point-type,
// memory_order = memory_order::seq_cst) volatile noexcept;
// floating-point-type fetch_add(floating-point-type,
diff --git a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
index c320145596db0..fde58f866769b 100644
--- a/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
+++ b/libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
@@ -10,6 +10,9 @@
// XFAIL: !has-64-bit-atomics
// UNSUPPORTED: !non-lockfree-atomics
+// https://github.com/llvm/llvm-project/issues/72893
+// XFAIL: target={{x86_64-.*}} && tsan
+
// floating-point-type fetch_sub(floating-point-type,
// memory_order = memory_order::seq_cst) volatile noexcept;
// floating-point-type fetch_sub(floating-point-type,
More information about the libcxx-commits
mailing list