Skip to content

Conversation

StephanTLavavej
Copy link
Member

After enhancing MSVC's STL to statically initialize our condition_variable, Clang began noticing that these mutex flavors were unused:

[...snipped...]\default.pass.cpp(23,22): error: unused variable 'm' [-Werror,-Wunused-variable]
   23 |     std::timed_mutex m;
      |                      ^

[...snipped...]\default.pass.cpp(23,32): error: unused variable 'm' [-Werror,-Wunused-variable]
   23 |     std::recursive_timed_mutex m;
      |                                ^

[...snipped...]\default.pass.cpp(24,29): error: unused variable 'm' [-Werror,-Wunused-variable]
   24 |     std::shared_timed_mutex m;
      |                             ^

@StephanTLavavej StephanTLavavej requested a review from a team as a code owner June 9, 2024 17:46
@llvmbot llvmbot added the libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi. label Jun 9, 2024
@llvmbot
Copy link
Member

llvmbot commented Jun 9, 2024

@llvm/pr-subscribers-libcxx

Author: Stephan T. Lavavej (StephanTLavavej)

Changes

After enhancing MSVC's STL to statically initialize our condition_variable, Clang began noticing that these mutex flavors were unused:

[...snipped...]\default.pass.cpp(23,22): error: unused variable 'm' [-Werror,-Wunused-variable]
   23 |     std::timed_mutex m;
      |                      ^

[...snipped...]\default.pass.cpp(23,32): error: unused variable 'm' [-Werror,-Wunused-variable]
   23 |     std::recursive_timed_mutex m;
      |                                ^

[...snipped...]\default.pass.cpp(24,29): error: unused variable 'm' [-Werror,-Wunused-variable]
   24 |     std::shared_timed_mutex m;
      |                             ^

Full diff: https://github.com/llvm/llvm-project/pull/94907.diff

3 Files Affected:

  • (modified) libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp (+3-3)
  • (modified) libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp (+3-3)
  • (modified) libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp (+3-3)
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
index b278419df6eed..7a8d096994fff 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.sharedtimedmutex.requirements/thread.sharedtimedmutex.class/default.pass.cpp
@@ -19,9 +19,9 @@
 
 #include "test_macros.h"
 
-int main(int, char**)
-{
-    std::shared_timed_mutex m;
+int main(int, char**) {
+  std::shared_timed_mutex m;
+  (void)m;
 
   return 0;
 }
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
index d13a0ad435aea..c7f207372ac42 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.class/default.pass.cpp
@@ -18,9 +18,9 @@
 
 #include "test_macros.h"
 
-int main(int, char**)
-{
-    std::timed_mutex m;
+int main(int, char**) {
+  std::timed_mutex m;
+  (void)m;
 
   return 0;
 }
diff --git a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
index 73e2e7a3a5ab9..3096e031855a2 100644
--- a/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
+++ b/libcxx/test/std/thread/thread.mutex/thread.mutex.requirements/thread.timedmutex.requirements/thread.timedmutex.recursive/default.pass.cpp
@@ -18,9 +18,9 @@
 
 #include "test_macros.h"
 
-int main(int, char**)
-{
-    std::recursive_timed_mutex m;
+int main(int, char**) {
+  std::recursive_timed_mutex m;
+  (void)m;
 
   return 0;
 }

@ldionne ldionne merged commit 88ff246 into llvm:main Jun 10, 2024
@StephanTLavavej StephanTLavavej deleted the unused-mutex branch June 10, 2024 15:19
Lukacma pushed a commit to Lukacma/llvm-project that referenced this pull request Jun 12, 2024
…m#94907)

After enhancing MSVC's STL to statically initialize our condition_variable,
Clang began noticing that some mutexes in the test suite were unused.
@HerrCai0907 HerrCai0907 mentioned this pull request Jun 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
libc++ libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants