This revision was automatically updated to reflect the committed changes.
Closed by commit rL373392: [clang-tidy] Rename objc-avoid-spinlock check to 
darwin-avoid-spinlock (authored by stephanemoore, committed by ).
Herald added a subscriber: llvm-commits.

Changed prior to commit:
  https://reviews.llvm.org/D68148?vs=222253&id=222708#toc

Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D68148/new/

https://reviews.llvm.org/D68148

Files:
  clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.cpp
  clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.h
  clang-tools-extra/trunk/clang-tidy/darwin/CMakeLists.txt
  clang-tools-extra/trunk/clang-tidy/darwin/DarwinTidyModule.cpp
  clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.cpp
  clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.h
  clang-tools-extra/trunk/clang-tidy/objc/CMakeLists.txt
  clang-tools-extra/trunk/clang-tidy/objc/ObjCTidyModule.cpp
  clang-tools-extra/trunk/docs/ReleaseNotes.rst
  clang-tools-extra/trunk/docs/clang-tidy/checks/darwin-avoid-spinlock.rst
  clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst
  clang-tools-extra/trunk/docs/clang-tidy/checks/objc-avoid-spinlock.rst
  clang-tools-extra/trunk/test/clang-tidy/darwin-avoid-spinlock.m
  clang-tools-extra/trunk/test/clang-tidy/objc-avoid-spinlock.m

Index: clang-tools-extra/trunk/docs/ReleaseNotes.rst
===================================================================
--- clang-tools-extra/trunk/docs/ReleaseNotes.rst
+++ clang-tools-extra/trunk/docs/ReleaseNotes.rst
@@ -115,6 +115,9 @@
   Now also checks if any calls to ``pthread_*`` functions expect negative return
   values.
 
+- The 'objc-avoid-spinlock' check was renamed to :doc:`darwin-avoid-spinlock
+  <clang-tidy/checks/darwin-avoid-spinlock>`
+
 Improvements to include-fixer
 -----------------------------
 
Index: clang-tools-extra/trunk/docs/clang-tidy/checks/darwin-avoid-spinlock.rst
===================================================================
--- clang-tools-extra/trunk/docs/clang-tidy/checks/darwin-avoid-spinlock.rst
+++ clang-tools-extra/trunk/docs/clang-tidy/checks/darwin-avoid-spinlock.rst
@@ -0,0 +1,15 @@
+.. title:: clang-tidy - darwin-avoid-spinlock
+
+darwin-avoid-spinlock
+=====================
+
+Finds usages of ``OSSpinlock``, which is deprecated due to potential livelock
+problems. 
+
+This check will detect following function invocations:
+
+- ``OSSpinlockLock``
+- ``OSSpinlockTry``
+- ``OSSpinlockUnlock``
+
+The corresponding information about the problem of ``OSSpinlock``: https://blog.postmates.com/why-spinlocks-are-bad-on-ios-b69fc5221058
Index: clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst
===================================================================
--- clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst
+++ clang-tools-extra/trunk/docs/clang-tidy/checks/list.rst
@@ -212,6 +212,7 @@
    cppcoreguidelines-pro-type-vararg
    cppcoreguidelines-slicing
    cppcoreguidelines-special-member-functions
+   darwin-avoid-spinlock
    darwin-dispatch-once-nonstatic
    fuchsia-default-arguments-calls
    fuchsia-default-arguments-declarations
@@ -325,7 +326,6 @@
    mpi-buffer-deref
    mpi-type-mismatch
    objc-avoid-nserror-init
-   objc-avoid-spinlock
    objc-forbidden-subclassing
    objc-missing-hash
    objc-property-declaration
Index: clang-tools-extra/trunk/test/clang-tidy/darwin-avoid-spinlock.m
===================================================================
--- clang-tools-extra/trunk/test/clang-tidy/darwin-avoid-spinlock.m
+++ clang-tools-extra/trunk/test/clang-tidy/darwin-avoid-spinlock.m
@@ -0,0 +1,15 @@
+// RUN: %check_clang_tidy %s darwin-avoid-spinlock %t
+
+typedef int OSSpinLock;
+
+@implementation Foo
+- (void)f {
+    int i = 1;
+    OSSpinlockLock(&i);
+    // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use os_unfair_lock_lock() or dispatch queue APIs instead of the deprecated OSSpinLock [darwin-avoid-spinlock]
+    OSSpinlockTry(&i);
+    // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use os_unfair_lock_lock() or dispatch queue APIs instead of the deprecated OSSpinLock [darwin-avoid-spinlock]
+    OSSpinlockUnlock(&i);
+    // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use os_unfair_lock_lock() or dispatch queue APIs instead of the deprecated OSSpinLock [darwin-avoid-spinlock]
+}
+@end
Index: clang-tools-extra/trunk/clang-tidy/objc/ObjCTidyModule.cpp
===================================================================
--- clang-tools-extra/trunk/clang-tidy/objc/ObjCTidyModule.cpp
+++ clang-tools-extra/trunk/clang-tidy/objc/ObjCTidyModule.cpp
@@ -10,7 +10,6 @@
 #include "../ClangTidyModule.h"
 #include "../ClangTidyModuleRegistry.h"
 #include "AvoidNSErrorInitCheck.h"
-#include "AvoidSpinlockCheck.h"
 #include "ForbiddenSubclassingCheck.h"
 #include "MissingHashCheck.h"
 #include "PropertyDeclarationCheck.h"
@@ -27,8 +26,6 @@
   void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
     CheckFactories.registerCheck<AvoidNSErrorInitCheck>(
         "objc-avoid-nserror-init");
-    CheckFactories.registerCheck<AvoidSpinlockCheck>(
-        "objc-avoid-spinlock");
     CheckFactories.registerCheck<ForbiddenSubclassingCheck>(
         "objc-forbidden-subclassing");
     CheckFactories.registerCheck<MissingHashCheck>(
Index: clang-tools-extra/trunk/clang-tidy/objc/CMakeLists.txt
===================================================================
--- clang-tools-extra/trunk/clang-tidy/objc/CMakeLists.txt
+++ clang-tools-extra/trunk/clang-tidy/objc/CMakeLists.txt
@@ -2,7 +2,6 @@
 
 add_clang_library(clangTidyObjCModule
   AvoidNSErrorInitCheck.cpp
-  AvoidSpinlockCheck.cpp
   ForbiddenSubclassingCheck.cpp
   MissingHashCheck.cpp
   ObjCTidyModule.cpp
Index: clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.h
===================================================================
--- clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.h
+++ clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.h
@@ -0,0 +1,35 @@
+//===--- AvoidSpinlockCheck.h - clang-tidy-----------------------*- C++ -*-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_DARWIN_AVOIDSPINLOCKCHECK_H
+#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_DARWIN_AVOIDSPINLOCKCHECK_H
+
+#include "../ClangTidyCheck.h"
+
+namespace clang {
+namespace tidy {
+namespace darwin {
+
+/// Finds usages of OSSpinlock, which is deprecated due to potential livelock
+/// problems.
+///
+/// For the user-facing documentation see:
+/// http://clang.llvm.org/extra/clang-tidy/checks/darwin-avoid-spinlock.html
+class AvoidSpinlockCheck : public ClangTidyCheck {
+ public:
+  AvoidSpinlockCheck(StringRef Name, ClangTidyContext *Context)
+      : ClangTidyCheck(Name, Context) {}
+  void registerMatchers(ast_matchers::MatchFinder *Finder) override;
+  void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
+};
+
+}  // namespace darwin
+}  // namespace tidy
+}  // namespace clang
+
+#endif  // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_DARWIN_AVOIDSPINLOCKCHECK_H
Index: clang-tools-extra/trunk/clang-tidy/darwin/DarwinTidyModule.cpp
===================================================================
--- clang-tools-extra/trunk/clang-tidy/darwin/DarwinTidyModule.cpp
+++ clang-tools-extra/trunk/clang-tidy/darwin/DarwinTidyModule.cpp
@@ -9,6 +9,7 @@
 #include "../ClangTidy.h"
 #include "../ClangTidyModule.h"
 #include "../ClangTidyModuleRegistry.h"
+#include "AvoidSpinlockCheck.h"
 #include "DispatchOnceNonstaticCheck.h"
 
 namespace clang {
@@ -18,6 +19,8 @@
 class DarwinModule : public ClangTidyModule {
 public:
   void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override {
+    CheckFactories.registerCheck<AvoidSpinlockCheck>(
+        "darwin-avoid-spinlock");
     CheckFactories.registerCheck<DispatchOnceNonstaticCheck>(
         "darwin-dispatch-once-nonstatic");
   }
Index: clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.cpp
===================================================================
--- clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.cpp
+++ clang-tools-extra/trunk/clang-tidy/darwin/AvoidSpinlockCheck.cpp
@@ -0,0 +1,36 @@
+//===--- AvoidSpinlockCheck.cpp - clang-tidy-------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "AvoidSpinlockCheck.h"
+#include "clang/AST/ASTContext.h"
+#include "clang/ASTMatchers/ASTMatchFinder.h"
+
+using namespace clang::ast_matchers;
+
+namespace clang {
+namespace tidy {
+namespace darwin {
+
+void AvoidSpinlockCheck::registerMatchers(MatchFinder *Finder) {
+  Finder->addMatcher(
+      callExpr(callee((functionDecl(hasAnyName(
+                   "OSSpinlockLock", "OSSpinlockUnlock", "OSSpinlockTry")))))
+          .bind("spinlock"),
+      this);
+}
+
+void AvoidSpinlockCheck::check(const MatchFinder::MatchResult &Result) {
+  const auto *MatchedExpr = Result.Nodes.getNodeAs<CallExpr>("spinlock");
+  diag(MatchedExpr->getBeginLoc(),
+       "use os_unfair_lock_lock() or dispatch queue APIs instead of the "
+       "deprecated OSSpinLock");
+}
+
+}  // namespace darwin
+}  // namespace tidy
+}  // namespace clang
Index: clang-tools-extra/trunk/clang-tidy/darwin/CMakeLists.txt
===================================================================
--- clang-tools-extra/trunk/clang-tidy/darwin/CMakeLists.txt
+++ clang-tools-extra/trunk/clang-tidy/darwin/CMakeLists.txt
@@ -1,6 +1,7 @@
 set(LLVM_LINK_COMPONENTS support)
 
 add_clang_library(clangTidyDarwinModule
+  AvoidSpinlockCheck.cpp
   DarwinTidyModule.cpp
   DispatchOnceNonstaticCheck.cpp
 
Index: clang-tools-extra/trunk/docs/clang-tidy/checks/objc-avoid-spinlock.rst
===================================================================
--- clang-tools-extra/trunk/docs/clang-tidy/checks/objc-avoid-spinlock.rst
+++ clang-tools-extra/trunk/docs/clang-tidy/checks/objc-avoid-spinlock.rst
@@ -1,15 +0,0 @@
-.. title:: clang-tidy - objc-avoid-spinlock
-
-objc-avoid-spinlock
-===================
-
-Finds usages of ``OSSpinlock``, which is deprecated due to potential livelock
-problems. 
-
-This check will detect following function invocations:
-
-- ``OSSpinlockLock``
-- ``OSSpinlockTry``
-- ``OSSpinlockUnlock``
-
-The corresponding information about the problem of ``OSSpinlock``: https://blog.postmates.com/why-spinlocks-are-bad-on-ios-b69fc5221058
Index: clang-tools-extra/trunk/test/clang-tidy/objc-avoid-spinlock.m
===================================================================
--- clang-tools-extra/trunk/test/clang-tidy/objc-avoid-spinlock.m
+++ clang-tools-extra/trunk/test/clang-tidy/objc-avoid-spinlock.m
@@ -1,15 +0,0 @@
-// RUN: %check_clang_tidy %s objc-avoid-spinlock %t
-
-typedef int OSSpinLock;
-
-@implementation Foo
-- (void)f {
-    int i = 1;
-    OSSpinlockLock(&i);
-    // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use os_unfair_lock_lock() or dispatch queue APIs instead of the deprecated OSSpinLock [objc-avoid-spinlock]
-    OSSpinlockTry(&i);
-    // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use os_unfair_lock_lock() or dispatch queue APIs instead of the deprecated OSSpinLock [objc-avoid-spinlock]
-    OSSpinlockUnlock(&i);
-    // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use os_unfair_lock_lock() or dispatch queue APIs instead of the deprecated OSSpinLock [objc-avoid-spinlock]
-}
-@end
Index: clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.h
===================================================================
--- clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.h
+++ clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.h
@@ -1,35 +0,0 @@
-//===--- AvoidSpinlockCheck.h - clang-tidy-----------------------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_OBJC_AVOID_SPINLOCK_H
-#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_OBJC_AVOID_SPINLOCK_H
-
-#include "../ClangTidyCheck.h"
-
-namespace clang {
-namespace tidy {
-namespace objc {
-
-/// Finds usages of OSSpinlock, which is deprecated due to potential livelock
-/// problems.
-///
-/// For the user-facing documentation see:
-/// http://clang.llvm.org/extra/clang-tidy/checks/objc-avoid-spinlock.html
-class AvoidSpinlockCheck : public ClangTidyCheck {
- public:
-  AvoidSpinlockCheck(StringRef Name, ClangTidyContext *Context)
-      : ClangTidyCheck(Name, Context) {}
-  void registerMatchers(ast_matchers::MatchFinder *Finder) override;
-  void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-};
-
-}  // namespace objc
-}  // namespace tidy
-}  // namespace clang
-
-#endif  // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_OBJC_AVOID_SPINLOCK_H
Index: clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.cpp
===================================================================
--- clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.cpp
+++ clang-tools-extra/trunk/clang-tidy/objc/AvoidSpinlockCheck.cpp
@@ -1,36 +0,0 @@
-//===--- AvoidSpinlockCheck.cpp - clang-tidy-------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "AvoidSpinlockCheck.h"
-#include "clang/AST/ASTContext.h"
-#include "clang/ASTMatchers/ASTMatchFinder.h"
-
-using namespace clang::ast_matchers;
-
-namespace clang {
-namespace tidy {
-namespace objc {
-
-void AvoidSpinlockCheck::registerMatchers(MatchFinder *Finder) {
-  Finder->addMatcher(
-      callExpr(callee((functionDecl(hasAnyName(
-                   "OSSpinlockLock", "OSSpinlockUnlock", "OSSpinlockTry")))))
-          .bind("spinlock"),
-      this);
-}
-
-void AvoidSpinlockCheck::check(const MatchFinder::MatchResult &Result) {
-  const auto *MatchedExpr = Result.Nodes.getNodeAs<CallExpr>("spinlock");
-  diag(MatchedExpr->getBeginLoc(),
-       "use os_unfair_lock_lock() or dispatch queue APIs instead of the "
-       "deprecated OSSpinLock");
-}
-
-}  // namespace objc
-}  // namespace tidy
-}  // namespace clang
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to