Author: Conrad Poelman
Date: 2021-02-02T06:02:59+01:00
New Revision: 0b70c86e2007d3f32968f0a7d9efe8eab3bf0f0a

URL: 
https://github.com/llvm/llvm-project/commit/0b70c86e2007d3f32968f0a7d9efe8eab3bf0f0a
DIFF: 
https://github.com/llvm/llvm-project/commit/0b70c86e2007d3f32968f0a7d9efe8eab3bf0f0a.diff

LOG: 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

Added: 
    

Modified: 
    clang-tools-extra/clangd/support/Function.h

Removed: 
    


################################################################################
diff  --git a/clang-tools-extra/clangd/support/Function.h 
b/clang-tools-extra/clangd/support/Function.h
index 2cac1b1e7f67..936800d56985 100644
--- a/clang-tools-extra/clangd/support/Function.h
+++ b/clang-tools-extra/clangd/support/Function.h
@@ -51,7 +51,7 @@ template <typename T> class Event {
     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;


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to