]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Fix nodiscard warnings in perf test for memory pools
authorJonathan Wakely <jwakely@redhat.com>
Wed, 13 Nov 2024 12:57:11 +0000 (12:57 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 13 Nov 2024 17:58:49 +0000 (17:58 +0000)
The use of unnamed std::lock_guard temporaries was intentional here, as
they were used like barriers (but std::barrier isn't available until
C++20). But that gives nodiscard warnings, because unnamed temporary
locks are usually unintentional. Use named variables in new block scopes
instead.

libstdc++-v3/ChangeLog:

* testsuite/performance/20_util/memory_resource/pools.cc: Fix
-Wunused-value warnings about unnamed std::lock_guard objects.

libstdc++-v3/testsuite/performance/20_util/memory_resource/pools.cc

index 8a2a5f1facf22d3a5be4d919d9672c16534d9d25..5d57d1a5a0c486d4a9f930a7d6f1a05033fc3f50 100644 (file)
@@ -167,7 +167,10 @@ void test_lists_resource_per_thread()
   auto run_test = [&mx] (std::pmr::memory_resource* memres,
                         __gnu_test::time_counter* timers)
   {
-    std::lock_guard<std::mutex>{mx};  // block until the mutex can be locked
+    {
+      // block until the mutex can be locked
+      std::lock_guard<std::mutex> wait_for_gate_to_be_unlocked{mx};
+    }
     populate_lists(memres, timers);
   };
 
@@ -239,7 +242,10 @@ void test_lists_shared_resource()
   auto run_test = [&mx] (std::pmr::memory_resource* memres,
                         __gnu_test::time_counter* timers)
   {
-    std::lock_guard<std::mutex>{mx};  // block until the mutex can be locked
+    {
+      // block until the mutex can be locked
+      std::lock_guard<std::mutex> wait_for_gate_to_be_unlocked{mx};
+    }
     populate_lists(memres, timers);
   };
 
@@ -307,7 +313,10 @@ void test_cross_thread_dealloc()
   [&, num_threads] (std::pmr::memory_resource* memres, int i, bool with_exit)
   {
     std::size_t counter = 0;
-    std::lock_guard<std::mutex>{mx};
+    {
+      // block until the mutex can be locked
+      std::lock_guard<std::mutex> wait_for_gate_to_be_unlocked{mx};
+    }
     // Fill this thread's buffer with allocations:
     for (X& x : allocs[i])
     {