mwyman created this revision.
mwyman added reviewers: stephanemoore, dmaclach.
mwyman added projects: clang-tools-extra, clang, LLVM.
Herald added subscribers: cfe-commits, xazax.hun, mgorny.
mwyman edited the summary of this revision.
OSSpinLock* are Apple/Darwin functions, but were previously located with ObjC
checks as those were most closely tied to Apple platforms before.
Now that there's a specific Darwin module, relocating the check there.
This change was prepared by running rename_check.py.
Repository:
rCTE Clang Tools Extra
https://reviews.llvm.org/D68148
Files:
clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.cpp
clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h
clang-tools-extra/clang-tidy/darwin/CMakeLists.txt
clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
clang-tools-extra/clang-tidy/objc/AvoidSpinlockCheck.cpp
clang-tools-extra/clang-tidy/objc/AvoidSpinlockCheck.h
clang-tools-extra/clang-tidy/objc/CMakeLists.txt
clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
clang-tools-extra/docs/ReleaseNotes.rst
clang-tools-extra/docs/clang-tidy/checks/darwin-avoid-spinlock.rst
clang-tools-extra/docs/clang-tidy/checks/list.rst
clang-tools-extra/docs/clang-tidy/checks/objc-avoid-spinlock.rst
clang-tools-extra/test/clang-tidy/darwin-avoid-spinlock.m
clang-tools-extra/test/clang-tidy/objc-avoid-spinlock.m
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
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/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/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
+ <clang-tidy/checks/darwin-avoid-spinlock>`
+
- New :doc:`bugprone-dynamic-static-initializers
<clang-tidy/checks/bugprone-dynamic-static-initializers>` check.
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<AvoidNSErrorInitCheck>(
"objc-avoid-nserror-init");
- CheckFactories.registerCheck<AvoidSpinlockCheck>(
- "objc-avoid-spinlock");
CheckFactories.registerCheck<ForbiddenSubclassingCheck>(
"objc-forbidden-subclassing");
CheckFactories.registerCheck<MissingHashCheck>(
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/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<AvoidSpinlockCheck>(
+ "darwin-avoid-spinlock");
CheckFactories.registerCheck<DispatchOnceNonstaticCheck>(
"darwin-dispatch-once-nonstatic");
}
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/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
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits