poelmanc created this revision. poelmanc added reviewers: sammccall, ilya-biryukov. poelmanc added a project: clang-tools-extra. Herald added subscribers: usaxena95, kadircet, arphaman. poelmanc requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
`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. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D95725 Files: clang-tools-extra/clangd/support/Function.h Index: clang-tools-extra/clangd/support/Function.h =================================================================== --- clang-tools-extra/clangd/support/Function.h +++ clang-tools-extra/clangd/support/Function.h @@ -51,7 +51,7 @@ 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> Guard(Parent->ListenersMu); llvm::erase_if(Parent->Listeners, [&](const std::pair<Listener, unsigned> &P) { return P.second == ListenerID;
Index: clang-tools-extra/clangd/support/Function.h =================================================================== --- clang-tools-extra/clangd/support/Function.h +++ clang-tools-extra/clangd/support/Function.h @@ -51,7 +51,7 @@ 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> Guard(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