[libcxx-commits] [libcxx] [libc++][chrono][threading] Implement LWG 3504: `condition_variable::wait_for` is overspecified (PR #222443)
via libcxx-commits
libcxx-commits at lists.llvm.org
Wed Sep 9 13:54:50 PDT 2026
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff origin/main HEAD --extensions ,cpp,h -- libcxx/include/__condition_variable/condition_variable.h libcxx/include/condition_variable libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp --diff_from_common_commit
``````````
:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
index df0743c48..a9c888533 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for.pass.cpp
@@ -111,9 +111,9 @@ int main(int, char**) {
std::mutex mutex;
std::unique_lock<std::mutex> lock(mutex);
- auto start = std::chrono::steady_clock::now();
+ auto start = std::chrono::steady_clock::now();
std::cv_status status = cv.wait_for(lock, std::chrono::duration<float>(0.25f));
- auto elapsed = std::chrono::steady_clock::now() - start;
+ auto elapsed = std::chrono::steady_clock::now() - start;
assert(status == std::cv_status::timeout);
assert(elapsed >= std::chrono::milliseconds(200));
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
index 2497c3dce..bcf22a270 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvar/wait_for_pred.pass.cpp
@@ -161,8 +161,8 @@ int main(int, char**) {
std::mutex mutex;
std::unique_lock<std::mutex> lock(mutex);
- auto start = std::chrono::steady_clock::now();
- bool result = cv.wait_for(lock, std::chrono::duration<float>(0.25f), [] { return false; });
+ auto start = std::chrono::steady_clock::now();
+ bool result = cv.wait_for(lock, std::chrono::duration<float>(0.25f), [] { return false; });
auto elapsed = std::chrono::steady_clock::now() - start;
assert(result == false);
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
index e8bad68da..2f2d46a88 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for.pass.cpp
@@ -117,9 +117,9 @@ void test() {
std::mutex mutex;
std::unique_lock<std::mutex> lock(mutex);
- auto start = std::chrono::steady_clock::now();
+ auto start = std::chrono::steady_clock::now();
std::cv_status status = cv.wait_for(lock, std::chrono::duration<float>(0.25f));
- auto elapsed = std::chrono::steady_clock::now() - start;
+ auto elapsed = std::chrono::steady_clock::now() - start;
assert(status == std::cv_status::timeout);
assert(elapsed > std::chrono::milliseconds(200));
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
index 3d8494fa1..fb9b3ccdd 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_pred.pass.cpp
@@ -167,8 +167,8 @@ void test() {
std::mutex mutex;
std::unique_lock<std::mutex> lock(mutex);
- auto start = std::chrono::steady_clock::now();
- bool result = cv.wait_for(lock, std::chrono::duration<float>(0.25f), [] { return false; });
+ auto start = std::chrono::steady_clock::now();
+ bool result = cv.wait_for(lock, std::chrono::duration<float>(0.25f), [] { return false; });
auto elapsed = std::chrono::steady_clock::now() - start;
assert(result == false);
diff --git a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
index 3b3f7fd79..7b991d285 100644
--- a/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
+++ b/libcxx/test/std/thread/thread.condition/thread.condition.condvarany/wait_for_token_pred.pass.cpp
@@ -244,9 +244,8 @@ void test() {
std::unique_lock<std::mutex> lock(mutex);
std::stop_source ss;
- auto start = std::chrono::steady_clock::now();
- bool result = cv.wait_for(lock, ss.get_token(), std::chrono::duration<float>(0.25f),
- [] { return false; });
+ auto start = std::chrono::steady_clock::now();
+ bool result = cv.wait_for(lock, ss.get_token(), std::chrono::duration<float>(0.25f), [] { return false; });
auto elapsed = std::chrono::steady_clock::now() - start;
assert(result == false);
``````````
</details>
https://github.com/llvm/llvm-project/pull/222443
More information about the libcxx-commits
mailing list