Index: clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h =================================================================== --- clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h +++ clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h @@ -6,20 +6,20 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_OBJC_AVOID_SPINLOCK_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_OBJC_AVOID_SPINLOCK_H +#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 objc { +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/objc-avoid-spinlock.html +/// http://clang.llvm.org/extra/clang-tidy/checks/darwin-avoid-spinlock.html class AvoidSpinlockCheck : public ClangTidyCheck { public: AvoidSpinlockCheck(StringRef Name, ClangTidyContext *Context) @@ -28,8 +28,8 @@ void check(const ast_matchers::MatchFinder::MatchResult &Result) override; }; -} // namespace objc +} // namespace darwin } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_OBJC_AVOID_SPINLOCK_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_DARWIN_AVOIDSPINLOCKCHECK_H Index: clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.cpp =================================================================== --- clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.cpp +++ clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.cpp @@ -14,7 +14,7 @@ namespace clang { namespace tidy { -namespace objc { +namespace darwin { void AvoidSpinlockCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher( @@ -31,6 +31,6 @@ "deprecated OSSpinLock"); } -} // namespace objc +} // namespace darwin } // namespace tidy } // namespace clang Index: clang-tools-extra/clang-tidy/darwin/CMakeLists.txt =================================================================== --- clang-tools-extra/clang-tidy/darwin/CMakeLists.txt +++ clang-tools-extra/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/clang-tidy/darwin/DarwinTidyModule.cpp =================================================================== --- clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp +++ clang-tools-extra/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( + "darwin-avoid-spinlock"); CheckFactories.registerCheck( "darwin-dispatch-once-nonstatic"); } Index: clang-tools-extra/clang-tidy/objc/CMakeLists.txt =================================================================== --- clang-tools-extra/clang-tidy/objc/CMakeLists.txt +++ clang-tools-extra/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/clang-tidy/objc/ObjCTidyModule.cpp =================================================================== --- clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp +++ clang-tools-extra/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( "objc-avoid-nserror-init"); - CheckFactories.registerCheck( - "objc-avoid-spinlock"); CheckFactories.registerCheck( "objc-forbidden-subclassing"); CheckFactories.registerCheck( Index: clang-tools-extra/docs/ReleaseNotes.rst =================================================================== --- clang-tools-extra/docs/ReleaseNotes.rst +++ clang-tools-extra/docs/ReleaseNotes.rst @@ -67,6 +67,9 @@ Improvements to clang-tidy -------------------------- +- The 'objc-avoid-spinlock' check was renamed to :doc:`darwin-avoid-spinlock + ` + - New :doc:`bugprone-dynamic-static-initializers ` check. Index: clang-tools-extra/docs/clang-tidy/checks/darwin-avoid-spinlock.rst =================================================================== --- clang-tools-extra/docs/clang-tidy/checks/darwin-avoid-spinlock.rst +++ clang-tools-extra/docs/clang-tidy/checks/darwin-avoid-spinlock.rst @@ -1,7 +1,7 @@ -.. title:: clang-tidy - objc-avoid-spinlock +.. title:: clang-tidy - darwin-avoid-spinlock -objc-avoid-spinlock -=================== +darwin-avoid-spinlock +===================== Finds usages of ``OSSpinlock``, which is deprecated due to potential livelock problems. Index: clang-tools-extra/docs/clang-tidy/checks/list.rst =================================================================== --- clang-tools-extra/docs/clang-tidy/checks/list.rst +++ clang-tools-extra/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/test/clang-tidy/darwin-avoid-spinlock.m =================================================================== --- clang-tools-extra/test/clang-tidy/darwin-avoid-spinlock.m +++ clang-tools-extra/test/clang-tidy/darwin-avoid-spinlock.m @@ -1,4 +1,4 @@ -// RUN: %check_clang_tidy %s objc-avoid-spinlock %t +// RUN: %check_clang_tidy %s darwin-avoid-spinlock %t typedef int OSSpinLock; @@ -6,10 +6,10 @@ - (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] + // 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 [objc-avoid-spinlock] + // 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 [objc-avoid-spinlock] + // CHECK-MESSAGES: :[[@LINE-1]]:5: warning: use os_unfair_lock_lock() or dispatch queue APIs instead of the deprecated OSSpinLock [darwin-avoid-spinlock] } @end