[libcxx-commits] [libcxx] [libc++][test] disable all atomic<long double> tests (PR #74201)
via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Dec 4 11:56:04 PST 2023
https://github.com/huixie90 updated https://github.com/llvm/llvm-project/pull/74201
>From 9faa19db22cbd5664f962764adf0eefea704b935 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 3daf3aba71fc9..261cb6da58ea7 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 27853ef08c748..26b9f24b5a282 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 9c67d7e671cfa..86db67ae82ca6 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 664185fc243f9..8808ea389a3e4 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 c4e33538de741..cf266a9b41af8 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 b495d04989e20..495071375d526 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 eca7a19e5c57d..903826d7851f9 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 183cf18b820e7..33c5d96591eea 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 58c8da6c1042b..1429bde4a440d 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 b1ef276d870cf..0dca0efd5aafb 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 0b1781bf8e571..49c70b298feeb 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 81d17cd32a6c5..22fc272f967ee 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 d95801e25d35e..3d5dd0b7f049a 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 b9105542766154f7eb615f4a908bdcf00ccbf594 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 8808ea389a3e4..994544365f58b 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 cf266a9b41af8..25756225b844b 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 0dca0efd5aafb..c6c555c93b8ba 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 49c70b298feeb..f322e94759f4c 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 e0d3a568d57574cf6914d7ff1c549deed350bfdd 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 994544365f58b..e13a0706e0c4d 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 25756225b844b..a48b3a2e456d7 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