STL_MSFT created this revision. STL_MSFT added reviewers: EricWF, mclow.lists. STL_MSFT added a subscriber: cfe-commits.
Avoid mixing assignment and returning. "return locked = true;" looks really suspicious, even though it happens to be correct here. Spend an extra statement to make the code clearer, and compilers happier. Fixes MSVC warning C6282 "Incorrect operator: assignment of constant in Boolean context. Consider using '==' instead." http://reviews.llvm.org/D21582 Files: test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_adopt_lock.pass.cpp test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex.pass.cpp Index: test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex.pass.cpp =================================================================== --- test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex.pass.cpp +++ test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex.pass.cpp @@ -28,7 +28,7 @@ ~TestMutex() { assert(!locked); } void lock() { assert(!locked); locked = true; } - bool try_lock() { if (locked) return false; return locked = true; } + bool try_lock() { if (locked) return false; locked = true; return true; } void unlock() { assert(locked); locked = false; } TestMutex(TestMutex const&) = delete; Index: test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_adopt_lock.pass.cpp =================================================================== --- test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_adopt_lock.pass.cpp +++ test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_adopt_lock.pass.cpp @@ -25,7 +25,7 @@ TestMutex() = default; void lock() { assert(!locked); locked = true; } - bool try_lock() { if (locked) return false; return locked = true; } + bool try_lock() { if (locked) return false; locked = true; return true; } void unlock() { assert(locked); locked = false; } TestMutex(TestMutex const&) = delete;
Index: test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex.pass.cpp =================================================================== --- test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex.pass.cpp +++ test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_mutex.pass.cpp @@ -28,7 +28,7 @@ ~TestMutex() { assert(!locked); } void lock() { assert(!locked); locked = true; } - bool try_lock() { if (locked) return false; return locked = true; } + bool try_lock() { if (locked) return false; locked = true; return true; } void unlock() { assert(locked); locked = false; } TestMutex(TestMutex const&) = delete; Index: test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_adopt_lock.pass.cpp =================================================================== --- test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_adopt_lock.pass.cpp +++ test/std/thread/thread.mutex/thread.lock/thread.lock.guard/variadic_adopt_lock.pass.cpp @@ -25,7 +25,7 @@ TestMutex() = default; void lock() { assert(!locked); locked = true; } - bool try_lock() { if (locked) return false; return locked = true; } + bool try_lock() { if (locked) return false; locked = true; return true; } void unlock() { assert(locked); locked = false; } TestMutex(TestMutex const&) = delete;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits