aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConrad Poelman <cpgithub@stellarscience.com>2021-02-02 05:59:38 +0100
committerTom Stellard <tstellar@redhat.com>2021-02-22 12:07:39 -0800
commit76e4c93ea42b3d23907611d14e347bfeae8d4b0a (patch)
treedc263f4642754db0ca7d5e2994640176cf6404cf
parent3444f052006ca2b19052a4599dd9001b01088c25 (diff)
downloadllvm-76e4c93ea42b3d23907611d14e347bfeae8d4b0a.zip
llvm-76e4c93ea42b3d23907611d14e347bfeae8d4b0a.tar.gz
llvm-76e4c93ea42b3d23907611d14e347bfeae8d4b0a.tar.bz2
clang-extra: fix incorrect use of std::lock_guard by adding variable name (identified by MSVC [[nodiscard]] error)
`std::lock_guard` is an RAII class that needs a variable name whose scope determines the guard's lifetime. This particular usage lacked a variable name, meaning the guard could be destroyed before the line that it was indented to protect. This line was identified by building clang with the latest MSVC preview release, which declares the std::lock_guard constructor to be `[[nodiscard]]` to draw attention to such issues. Reviewed By: kadircet Differential Revision: https://reviews.llvm.org/D95725 (cherry picked from commit 0b70c86e2007d3f32968f0a7d9efe8eab3bf0f0a)
-rw-r--r--clang-tools-extra/clangd/support/Function.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/support/Function.h b/clang-tools-extra/clangd/support/Function.h
index 2cac1b1..936800d 100644
--- a/clang-tools-extra/clangd/support/Function.h
+++ b/clang-tools-extra/clangd/support/Function.h
@@ -51,7 +51,7 @@ public:
Subscription &operator=(Subscription &&Other) {
// If *this is active, unsubscribe.
if (Parent) {
- std::lock_guard<std::recursive_mutex>(Parent->ListenersMu);
+ std::lock_guard<std::recursive_mutex> Lock(Parent->ListenersMu);
llvm::erase_if(Parent->Listeners,
[&](const std::pair<Listener, unsigned> &P) {
return P.second == ListenerID;