[libcxx-commits] [libcxx] [libc++][test-suite][NFC] Move `unused_variables` tests (PR #223234)
Hristo Hristov via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Sep 13 04:43:40 PDT 2026
https://github.com/H-G-Hristov updated https://github.com/llvm/llvm-project/pull/223234
>From f19ee70bb02e192e1685df60572d3e80f2dc3651 Mon Sep 17 00:00:00 2001
From: Hristo Hristov <hghristov.rmm at gmail.com>
Date: Sun, 13 Sep 2026 14:29:18 +0300
Subject: [PATCH 1/3] [libc++][test-suite][NFC] Move `unused_variables` tests
`diagnostics` is a section in The Standard. According to libc++ test-suite organization `libcxx/test/libcxx/diagnostics/` should contain related tests.
The following tests should live in `libcxx/test/libcxx/containers`:
`unused_variables.compile.pass.cpp`
`unused_variables.verify.cpp`
---
.../{diagnostics => containers}/unused_variables.compile.pass.cpp | 0
.../{diagnostics => containers}/unused_variables.verify.cpp | 0
2 files changed, 0 insertions(+), 0 deletions(-)
rename libcxx/test/libcxx/{diagnostics => containers}/unused_variables.compile.pass.cpp (100%)
rename libcxx/test/libcxx/{diagnostics => containers}/unused_variables.verify.cpp (100%)
diff --git a/libcxx/test/libcxx/diagnostics/unused_variables.compile.pass.cpp b/libcxx/test/libcxx/containers/unused_variables.compile.pass.cpp
similarity index 100%
rename from libcxx/test/libcxx/diagnostics/unused_variables.compile.pass.cpp
rename to libcxx/test/libcxx/containers/unused_variables.compile.pass.cpp
diff --git a/libcxx/test/libcxx/diagnostics/unused_variables.verify.cpp b/libcxx/test/libcxx/containers/unused_variables.verify.cpp
similarity index 100%
rename from libcxx/test/libcxx/diagnostics/unused_variables.verify.cpp
rename to libcxx/test/libcxx/containers/unused_variables.verify.cpp
>From 18835e96af2c06ffcbf8cbd2a99e49039c3f6102 Mon Sep 17 00:00:00 2001
From: Hristo Hristov <hghristov.rmm at gmail.com>
Date: Sun, 13 Sep 2026 14:40:27 +0300
Subject: [PATCH 2/3] Split test
---
.../containers/unused_variables.verify.cpp | 52 ---------------
.../libcxx/thread/unused_variables.verify.cpp | 64 +++++++++++++++++++
2 files changed, 64 insertions(+), 52 deletions(-)
create mode 100644 libcxx/test/libcxx/thread/unused_variables.verify.cpp
diff --git a/libcxx/test/libcxx/containers/unused_variables.verify.cpp b/libcxx/test/libcxx/containers/unused_variables.verify.cpp
index bfeb60d9bb6f0..c7c90d58777f2 100644
--- a/libcxx/test/libcxx/containers/unused_variables.verify.cpp
+++ b/libcxx/test/libcxx/containers/unused_variables.verify.cpp
@@ -9,18 +9,11 @@
// Make sure that we warn on unused variables of libc++ classes which behave like value types.
// ADDITIONAL_COMPILE_FLAGS: -Wunused-variable
-#include <barrier>
-#include <condition_variable>
#include <deque>
#include <forward_list>
-#include <latch>
#include <list>
#include <map>
-#include <mutex>
-#include <semaphore>
#include <set>
-#include <shared_mutex>
-#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
@@ -77,48 +70,3 @@ void container_const_iterators() {
std::vector<int>::const_iterator m; // expected-warning {{unused variable}}
std::vector<bool>::const_iterator n; // expected-warning {{unused variable}}
}
-
-#ifndef TEST_HAS_NO_THREADS
-void synchronization(std::mutex& m) {
- // <mutex>
- std::mutex a; // expected-warning {{unused variable}}
- std::once_flag b; // expected-warning {{unused variable}}
- std::recursive_mutex c; // expected-warning {{unused variable}}
- std::recursive_timed_mutex d; // expected-warning {{unused variable}}
- std::timed_mutex e; // expected-warning {{unused variable}}
- std::unique_lock<std::mutex> f; // This is https://llvm.org/PR222655
- std::unique_lock<std::mutex> g(m); // Shouldn't be diagnosed
-# if TEST_STD_VER >= 17
- std::unique_lock<std::mutex> h(m, std::defer_lock); // This is https://llvm.org/PR222655
-# endif
-
- // <condition_variable>
- std::condition_variable i; // expected-warning {{unused variable}}
- std::condition_variable_any j; // expected-warning {{unused variable}}
-
-# if TEST_STD_VER >= 20
- // <semaphore>
- std::counting_semaphore<> k(1); // expected-warning {{unused variable}}
-# endif
-
- // <shared_mutex>
-# if TEST_STD_VER >= 17
- std::shared_mutex l; // expected-warning {{unused variable}}
-# endif
-# if TEST_STD_VER >= 14
- std::shared_timed_mutex n; // expected-warning {{unused variable}}
- std::shared_timed_mutex n2;
- std::shared_lock<std::shared_timed_mutex> o; // This is https://llvm.org/PR222655
- std::shared_lock<std::shared_timed_mutex> p(n2); // Shouldn't be diagnosed
- std::shared_lock<std::shared_timed_mutex> q(n2, std::defer_lock); // This is https://llvm.org/PR222655
-# endif
-
-# if TEST_STD_VER >= 20
- // <barrier>
- std::barrier<> r(1); // expected-warning {{unused variable}}
-
- // <latch>
- std::latch s(1); // expected-warning {{unused variable}}
-# endif
-}
-#endif // TEST_HAS_NO_THREADS
diff --git a/libcxx/test/libcxx/thread/unused_variables.verify.cpp b/libcxx/test/libcxx/thread/unused_variables.verify.cpp
new file mode 100644
index 0000000000000..0db58b42fb6ce
--- /dev/null
+++ b/libcxx/test/libcxx/thread/unused_variables.verify.cpp
@@ -0,0 +1,64 @@
+//===----------------------------------------------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+// UNSUPPORTED: no-threads
+
+// Make sure that we warn on unused variables of libc++ classes which behave like value types.
+// ADDITIONAL_COMPILE_FLAGS: -Wunused-variable
+
+#include <barrier>
+#include <condition_variable>
+#include <latch>
+#include <mutex>
+#include <semaphore>
+#include <shared_mutex>
+
+#include "test_macros.h"
+
+void synchronization(std::mutex& m) {
+ // <mutex>
+ std::mutex a; // expected-warning {{unused variable}}
+ std::once_flag b; // expected-warning {{unused variable}}
+ std::recursive_mutex c; // expected-warning {{unused variable}}
+ std::recursive_timed_mutex d; // expected-warning {{unused variable}}
+ std::timed_mutex e; // expected-warning {{unused variable}}
+ std::unique_lock<std::mutex> f; // This is https://llvm.org/PR222655
+ std::unique_lock<std::mutex> g(m); // Shouldn't be diagnosed
+# if TEST_STD_VER >= 17
+ std::unique_lock<std::mutex> h(m, std::defer_lock); // This is https://llvm.org/PR222655
+# endif
+
+ // <condition_variable>
+ std::condition_variable i; // expected-warning {{unused variable}}
+ std::condition_variable_any j; // expected-warning {{unused variable}}
+
+# if TEST_STD_VER >= 20
+ // <semaphore>
+ std::counting_semaphore<> k(1); // expected-warning {{unused variable}}
+# endif
+
+ // <shared_mutex>
+# if TEST_STD_VER >= 17
+ std::shared_mutex l; // expected-warning {{unused variable}}
+# endif
+# if TEST_STD_VER >= 14
+ std::shared_timed_mutex n; // expected-warning {{unused variable}}
+ std::shared_timed_mutex n2;
+ std::shared_lock<std::shared_timed_mutex> o; // This is https://llvm.org/PR222655
+ std::shared_lock<std::shared_timed_mutex> p(n2); // Shouldn't be diagnosed
+ std::shared_lock<std::shared_timed_mutex> q(n2, std::defer_lock); // This is https://llvm.org/PR222655
+# endif
+
+# if TEST_STD_VER >= 20
+ // <barrier>
+ std::barrier<> r(1); // expected-warning {{unused variable}}
+
+ // <latch>
+ std::latch s(1); // expected-warning {{unused variable}}
+# endif
+}
>From 77df50a26b47d4e0ec6080a545bfcdbc0c00bf50 Mon Sep 17 00:00:00 2001
From: Hristo Hristov <hghristov.rmm at gmail.com>
Date: Sun, 13 Sep 2026 14:43:24 +0300
Subject: [PATCH 3/3] format
---
.../libcxx/thread/unused_variables.verify.cpp | 20 +++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/libcxx/test/libcxx/thread/unused_variables.verify.cpp b/libcxx/test/libcxx/thread/unused_variables.verify.cpp
index 0db58b42fb6ce..33c4e74ac0a5a 100644
--- a/libcxx/test/libcxx/thread/unused_variables.verify.cpp
+++ b/libcxx/test/libcxx/thread/unused_variables.verify.cpp
@@ -29,36 +29,36 @@ void synchronization(std::mutex& m) {
std::timed_mutex e; // expected-warning {{unused variable}}
std::unique_lock<std::mutex> f; // This is https://llvm.org/PR222655
std::unique_lock<std::mutex> g(m); // Shouldn't be diagnosed
-# if TEST_STD_VER >= 17
+#if TEST_STD_VER >= 17
std::unique_lock<std::mutex> h(m, std::defer_lock); // This is https://llvm.org/PR222655
-# endif
+#endif
// <condition_variable>
std::condition_variable i; // expected-warning {{unused variable}}
std::condition_variable_any j; // expected-warning {{unused variable}}
-# if TEST_STD_VER >= 20
+#if TEST_STD_VER >= 20
// <semaphore>
std::counting_semaphore<> k(1); // expected-warning {{unused variable}}
-# endif
+#endif
// <shared_mutex>
-# if TEST_STD_VER >= 17
+#if TEST_STD_VER >= 17
std::shared_mutex l; // expected-warning {{unused variable}}
-# endif
-# if TEST_STD_VER >= 14
+#endif
+#if TEST_STD_VER >= 14
std::shared_timed_mutex n; // expected-warning {{unused variable}}
std::shared_timed_mutex n2;
std::shared_lock<std::shared_timed_mutex> o; // This is https://llvm.org/PR222655
std::shared_lock<std::shared_timed_mutex> p(n2); // Shouldn't be diagnosed
std::shared_lock<std::shared_timed_mutex> q(n2, std::defer_lock); // This is https://llvm.org/PR222655
-# endif
+#endif
-# if TEST_STD_VER >= 20
+#if TEST_STD_VER >= 20
// <barrier>
std::barrier<> r(1); // expected-warning {{unused variable}}
// <latch>
std::latch s(1); // expected-warning {{unused variable}}
-# endif
+#endif
}
More information about the libcxx-commits
mailing list