diff options
author | Alexander Kornienko <alexfh@google.com> | 2017-11-24 14:16:29 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2017-11-24 14:16:29 +0000 |
commit | d4ac4afda75c9ef174e85eea7f40a6ae6cc50ab4 (patch) | |
tree | c43c0be034454ea297f0ccdc84302e9636abed63 /clang-tools-extra/clang-tidy | |
parent | 70cdb5b3914803ca89a96a867a47936d049a4b32 (diff) | |
download | bcm5719-llvm-d4ac4afda75c9ef174e85eea7f40a6ae6cc50ab4.tar.gz bcm5719-llvm-d4ac4afda75c9ef174e85eea7f40a6ae6cc50ab4.zip |
[clang-tidy] Move a few more checks from misc to bugprone.
Summary:
clang_tidy/rename_check.py misc-assert-side-effect bugprone-assert-side-effect
clang_tidy/rename_check.py misc-bool-pointer-implicit-conversion bugprone-bool-pointer-implicit-conversion
clang_tidy/rename_check.py misc-fold-init-type bugprone-fold-init-type
clang_tidy/rename_check.py misc-forward-declaration-namespace bugprone-forward-declaration-namespace
clang_tidy/rename_check.py misc-inaccurate-erase bugprone-inaccurate-erase
clang_tidy/rename_check.py misc-move-forwarding-reference bugprone-move-forwarding-reference
clang_tidy/rename_check.py misc-multiple-statement-macro bugprone-multiple-statement-macro
clang_tidy/rename_check.py misc-use-after-move bugprone-use-after-move
clang_tidy/rename_check.py misc-virtual-near-miss bugprone-virtual-near-miss
Manually fixed a reference to UseAfterMoveCheck in the hicpp module.
Manually fixed header guards.
Reviewers: hokein
Reviewed By: hokein
Subscribers: nemanjai, mgorny, javed.absar, xazax.hun, kbarton, cfe-commits
Differential Revision: https://reviews.llvm.org/D40426
llvm-svn: 318950
Diffstat (limited to 'clang-tools-extra/clang-tidy')
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h | 6 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp (renamed from clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp) | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.h (renamed from clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.h) | 10 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp (renamed from clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.cpp) | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.h (renamed from clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.h) | 10 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp | 27 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt | 9 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp (renamed from clang-tools-extra/clang-tidy/misc/FoldInitTypeCheck.cpp) | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.h (renamed from clang-tools-extra/clang-tidy/misc/FoldInitTypeCheck.h) | 12 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp (renamed from clang-tools-extra/clang-tidy/misc/ForwardDeclarationNamespaceCheck.cpp) | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.h (renamed from clang-tools-extra/clang-tidy/misc/ForwardDeclarationNamespaceCheck.h) | 12 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp (renamed from clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp) | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.h (renamed from clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.h) | 10 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp (renamed from clang-tools-extra/clang-tidy/misc/MoveForwardingReferenceCheck.cpp) | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.h (renamed from clang-tools-extra/clang-tidy/misc/MoveForwardingReferenceCheck.h) | 12 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp (renamed from clang-tools-extra/clang-tidy/misc/MultipleStatementMacroCheck.cpp) | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.h (renamed from clang-tools-extra/clang-tidy/misc/MultipleStatementMacroCheck.h) | 12 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp (renamed from clang-tools-extra/clang-tidy/misc/UseAfterMoveCheck.cpp) | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h (renamed from clang-tools-extra/clang-tidy/misc/UseAfterMoveCheck.h) | 12 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp (renamed from clang-tools-extra/clang-tidy/misc/VirtualNearMissCheck.cpp) | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.h (renamed from clang-tools-extra/clang-tidy/misc/VirtualNearMissCheck.h) | 12 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp | 4 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/misc/CMakeLists.txt | 9 | ||||
-rw-r--r-- | clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp | 24 |
24 files changed, 110 insertions, 107 deletions
diff --git a/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h b/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h index 050780decc8..2f5a751b5d4 100644 --- a/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/ArgumentCommentCheck.h @@ -7,8 +7,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_ARGUMENTCOMMENTCHECK_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_ARGUMENTCOMMENTCHECK_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_ARGUMENTCOMMENTCHECK_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_ARGUMENTCOMMENTCHECK_H #include "../ClangTidy.h" #include "llvm/Support/Regex.h" @@ -52,4 +52,4 @@ private: } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_ARGUMENTCOMMENTCHECK_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_ARGUMENTCOMMENTCHECK_H diff --git a/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp index 0b63c0d33a4..244e7552164 100644 --- a/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.cpp @@ -22,7 +22,7 @@ using namespace clang::ast_matchers; namespace clang { namespace tidy { -namespace misc { +namespace bugprone { namespace { @@ -122,6 +122,6 @@ void AssertSideEffectCheck::check(const MatchFinder::MatchResult &Result) { diag(Loc, "found %0() with side effect") << AssertMacroName; } -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.h b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.h index 2bb25e2d4a4..0f386c9de47 100644 --- a/clang-tools-extra/clang-tidy/misc/AssertSideEffectCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/AssertSideEffectCheck.h @@ -7,8 +7,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_ASSERTSIDEEFFECTCHECK_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_ASSERTSIDEEFFECTCHECK_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_ASSERTSIDEEFFECTCHECK_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_ASSERTSIDEEFFECTCHECK_H #include "../ClangTidy.h" #include "llvm/ADT/SmallVector.h" @@ -17,7 +17,7 @@ namespace clang { namespace tidy { -namespace misc { +namespace bugprone { /// Finds `assert()` with side effect. /// @@ -45,8 +45,8 @@ private: SmallVector<StringRef, 5> AssertMacros; }; -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_ASSERTSIDEEFFECTCHECK_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_ASSERTSIDEEFFECTCHECK_H diff --git a/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp index f831125838d..ed2c2db952f 100644 --- a/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.cpp @@ -13,7 +13,7 @@ using namespace clang::ast_matchers; namespace clang { namespace tidy { -namespace misc { +namespace bugprone { void BoolPointerImplicitConversionCheck::registerMatchers(MatchFinder *Finder) { // Look for ifs that have an implicit bool* to bool conversion in the @@ -68,6 +68,6 @@ void BoolPointerImplicitConversionCheck::check( << FixItHint::CreateInsertion(Var->getLocStart(), "*"); } -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.h b/clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.h index d8a90f35729..b3416a92bca 100644 --- a/clang-tools-extra/clang-tidy/misc/BoolPointerImplicitConversionCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/BoolPointerImplicitConversionCheck.h @@ -7,14 +7,14 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_BOOLPOINTERIMPLICITCONVERSIONCHECK_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_BOOLPOINTERIMPLICITCONVERSIONCHECK_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_BOOLPOINTERIMPLICITCONVERSIONCHECK_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_BOOLPOINTERIMPLICITCONVERSIONCHECK_H #include "../ClangTidy.h" namespace clang { namespace tidy { -namespace misc { +namespace bugprone { /// Checks for conditions based on implicit conversion from a bool pointer to /// bool. @@ -35,8 +35,8 @@ public: void check(const ast_matchers::MatchFinder::MatchResult &Result) override; }; -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_BOOLPOINTERIMPLICITCONVERSIONCHECK_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_BOOLPOINTERIMPLICITCONVERSIONCHECK_H diff --git a/clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp b/clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp index e96dc812f84..d17eb27c4fb 100644 --- a/clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp @@ -11,13 +11,22 @@ #include "../ClangTidyModule.h" #include "../ClangTidyModuleRegistry.h" #include "ArgumentCommentCheck.h" +#include "AssertSideEffectCheck.h" +#include "BoolPointerImplicitConversionCheck.h" #include "CopyConstructorInitCheck.h" #include "DanglingHandleCheck.h" +#include "FoldInitTypeCheck.h" +#include "ForwardDeclarationNamespaceCheck.h" +#include "InaccurateEraseCheck.h" #include "IntegerDivisionCheck.h" #include "MisplacedOperatorInStrlenInAllocCheck.h" +#include "MoveForwardingReferenceCheck.h" +#include "MultipleStatementMacroCheck.h" #include "StringConstructorCheck.h" #include "SuspiciousMemsetUsageCheck.h" #include "UndefinedMemoryManipulationCheck.h" +#include "UseAfterMoveCheck.h" +#include "VirtualNearMissCheck.h" namespace clang { namespace tidy { @@ -28,20 +37,38 @@ public: void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { CheckFactories.registerCheck<ArgumentCommentCheck>( "bugprone-argument-comment"); + CheckFactories.registerCheck<AssertSideEffectCheck>( + "bugprone-assert-side-effect"); + CheckFactories.registerCheck<BoolPointerImplicitConversionCheck>( + "bugprone-bool-pointer-implicit-conversion"); CheckFactories.registerCheck<CopyConstructorInitCheck>( "bugprone-copy-constructor-init"); CheckFactories.registerCheck<DanglingHandleCheck>( "bugprone-dangling-handle"); + CheckFactories.registerCheck<FoldInitTypeCheck>( + "bugprone-fold-init-type"); + CheckFactories.registerCheck<ForwardDeclarationNamespaceCheck>( + "bugprone-forward-declaration-namespace"); + CheckFactories.registerCheck<InaccurateEraseCheck>( + "bugprone-inaccurate-erase"); CheckFactories.registerCheck<IntegerDivisionCheck>( "bugprone-integer-division"); CheckFactories.registerCheck<MisplacedOperatorInStrlenInAllocCheck>( "bugprone-misplaced-operator-in-strlen-in-alloc"); + CheckFactories.registerCheck<MoveForwardingReferenceCheck>( + "bugprone-move-forwarding-reference"); + CheckFactories.registerCheck<MultipleStatementMacroCheck>( + "bugprone-multiple-statement-macro"); CheckFactories.registerCheck<StringConstructorCheck>( "bugprone-string-constructor"); CheckFactories.registerCheck<SuspiciousMemsetUsageCheck>( "bugprone-suspicious-memset-usage"); CheckFactories.registerCheck<UndefinedMemoryManipulationCheck>( "bugprone-undefined-memory-manipulation"); + CheckFactories.registerCheck<UseAfterMoveCheck>( + "bugprone-use-after-move"); + CheckFactories.registerCheck<VirtualNearMissCheck>( + "bugprone-virtual-near-miss"); } }; diff --git a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt index fe9b999b619..dab77bda3c4 100644 --- a/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt +++ b/clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt @@ -2,14 +2,23 @@ set(LLVM_LINK_COMPONENTS support) add_clang_library(clangTidyBugproneModule ArgumentCommentCheck.cpp + AssertSideEffectCheck.cpp + BoolPointerImplicitConversionCheck.cpp BugproneTidyModule.cpp CopyConstructorInitCheck.cpp DanglingHandleCheck.cpp + FoldInitTypeCheck.cpp + ForwardDeclarationNamespaceCheck.cpp + InaccurateEraseCheck.cpp IntegerDivisionCheck.cpp MisplacedOperatorInStrlenInAllocCheck.cpp + MoveForwardingReferenceCheck.cpp + MultipleStatementMacroCheck.cpp StringConstructorCheck.cpp SuspiciousMemsetUsageCheck.cpp UndefinedMemoryManipulationCheck.cpp + UseAfterMoveCheck.cpp + VirtualNearMissCheck.cpp LINK_LIBS clangAnalysis diff --git a/clang-tools-extra/clang-tidy/misc/FoldInitTypeCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp index c5d27201b8b..6d7fd2852ad 100644 --- a/clang-tools-extra/clang-tidy/misc/FoldInitTypeCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.cpp @@ -15,7 +15,7 @@ using namespace clang::ast_matchers; namespace clang { namespace tidy { -namespace misc { +namespace bugprone { void FoldInitTypeCheck::registerMatchers(MatchFinder *Finder) { // We match functions of interest and bind the iterator and init value types. @@ -135,6 +135,6 @@ void FoldInitTypeCheck::check(const MatchFinder::MatchResult &Result) { doCheck(*Iter2ValueType, *InitType, *Result.Context, *CallNode); } -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/FoldInitTypeCheck.h b/clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.h index df4ec88fa04..e6170de0ae2 100644 --- a/clang-tools-extra/clang-tidy/misc/FoldInitTypeCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/FoldInitTypeCheck.h @@ -7,14 +7,14 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_FOLD_INIT_TYPE_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_FOLD_INIT_TYPE_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_FOLD_INIT_TYPE_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_FOLD_INIT_TYPE_H #include "../ClangTidy.h" namespace clang { namespace tidy { -namespace misc { +namespace bugprone { /// Find and flag invalid initializer values in folds, e.g. std::accumulate. /// Example: @@ -24,7 +24,7 @@ namespace misc { /// \endcode /// /// For the user-facing documentation see: -/// http://clang.llvm.org/extra/clang-tidy/checks/misc-fold-init-type.html +/// http://clang.llvm.org/extra/clang-tidy/checks/bugprone-fold-init-type.html class FoldInitTypeCheck : public ClangTidyCheck { public: FoldInitTypeCheck(StringRef Name, ClangTidyContext *Context) @@ -37,8 +37,8 @@ private: const ASTContext &Context, const CallExpr &CallNode); }; -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_FOLD_INIT_TYPE_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_FOLD_INIT_TYPE_H diff --git a/clang-tools-extra/clang-tidy/misc/ForwardDeclarationNamespaceCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp index 1487e8f1861..9ea5b553da2 100644 --- a/clang-tools-extra/clang-tidy/misc/ForwardDeclarationNamespaceCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.cpp @@ -19,7 +19,7 @@ using namespace clang::ast_matchers; namespace clang { namespace tidy { -namespace misc { +namespace bugprone { void ForwardDeclarationNamespaceCheck::registerMatchers(MatchFinder *Finder) { // Match all class declarations/definitions *EXCEPT* @@ -169,6 +169,6 @@ void ForwardDeclarationNamespaceCheck::onEndOfTranslationUnit() { } } -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/ForwardDeclarationNamespaceCheck.h b/clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.h index dd7042d3691..c3d30186895 100644 --- a/clang-tools-extra/clang-tidy/misc/ForwardDeclarationNamespaceCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/ForwardDeclarationNamespaceCheck.h @@ -7,8 +7,8 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_FORWARDDECLARATIONNAMESPACECHECK_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_FORWARDDECLARATIONNAMESPACECHECK_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_FORWARDDECLARATIONNAMESPACECHECK_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_FORWARDDECLARATIONNAMESPACECHECK_H #include "../ClangTidy.h" #include "llvm/ADT/SmallPtrSet.h" @@ -17,7 +17,7 @@ namespace clang { namespace tidy { -namespace misc { +namespace bugprone { /// Checks if an unused forward declaration is in a wrong namespace. /// @@ -37,7 +37,7 @@ namespace misc { /// point. /// /// For the user-facing documentation see: -/// http://clang.llvm.org/extra/clang-tidy/checks/misc-forward-declaration-namespace.html +/// http://clang.llvm.org/extra/clang-tidy/checks/bugprone-forward-declaration-namespace.html class ForwardDeclarationNamespaceCheck : public ClangTidyCheck { public: ForwardDeclarationNamespaceCheck(StringRef Name, ClangTidyContext *Context) @@ -52,8 +52,8 @@ private: llvm::SmallPtrSet<const Type *, 16> FriendTypes; }; -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_FORWARDDECLARATIONNAMESPACECHECK_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_FORWARDDECLARATIONNAMESPACECHECK_H diff --git a/clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp index fd86d1723e3..cf1be0e7b30 100644 --- a/clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp @@ -16,7 +16,7 @@ using namespace clang::ast_matchers; namespace clang { namespace tidy { -namespace misc { +namespace bugprone { namespace { AST_MATCHER(Decl, isInStdNamespace) { return Node.isInStdNamespace(); } @@ -76,6 +76,6 @@ void InaccurateEraseCheck::check(const MatchFinder::MatchResult &Result) { << Hint; } -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.h b/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.h index 623e1c236eb..d6b372908ec 100644 --- a/clang-tools-extra/clang-tidy/misc/InaccurateEraseCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.h @@ -7,14 +7,14 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_INACCURATEERASECHECK_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_INACCURATEERASECHECK_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_INACCURATEERASECHECK_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_INACCURATEERASECHECK_H #include "../ClangTidy.h" namespace clang { namespace tidy { -namespace misc { +namespace bugprone { /// Checks for inaccurate use of the `erase()` method. /// @@ -31,8 +31,8 @@ public: void check(const ast_matchers::MatchFinder::MatchResult &Result) override; }; -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_INACCURATEERASECHECK_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_INACCURATEERASECHECK_H diff --git a/clang-tools-extra/clang-tidy/misc/MoveForwardingReferenceCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp index 12c19dd9c20..516ee193033 100644 --- a/clang-tools-extra/clang-tidy/misc/MoveForwardingReferenceCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.cpp @@ -17,7 +17,7 @@ using namespace clang::ast_matchers; namespace clang { namespace tidy { -namespace misc { +namespace bugprone { static void replaceMoveWithForward(const UnresolvedLookupExpr *Callee, const ParmVarDecl *ParmVar, @@ -128,6 +128,6 @@ void MoveForwardingReferenceCheck::check( *Result.Context); } -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/MoveForwardingReferenceCheck.h b/clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.h index 2e6ec363488..c61de757d74 100644 --- a/clang-tools-extra/clang-tidy/misc/MoveForwardingReferenceCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/MoveForwardingReferenceCheck.h @@ -7,14 +7,14 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_MOVEFORWARDINGREFERENCECHECK_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_MOVEFORWARDINGREFERENCECHECK_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_MOVEFORWARDINGREFERENCECHECK_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_MOVEFORWARDINGREFERENCECHECK_H #include "../ClangTidy.h" namespace clang { namespace tidy { -namespace misc { +namespace bugprone { /// The check warns if std::move is applied to a forwarding reference (i.e. an /// rvalue reference of a function template argument type). @@ -33,7 +33,7 @@ namespace misc { /// The check suggests replacing the std::move with a std::forward. /// /// For the user-facing documentation see: -/// http://clang.llvm.org/extra/clang-tidy/checks/misc-move-forwarding-reference.html +/// http://clang.llvm.org/extra/clang-tidy/checks/bugprone-move-forwarding-reference.html class MoveForwardingReferenceCheck : public ClangTidyCheck { public: MoveForwardingReferenceCheck(StringRef Name, ClangTidyContext *Context) @@ -42,8 +42,8 @@ public: void check(const ast_matchers::MatchFinder::MatchResult &Result) override; }; -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_MOVEFORWARDINGREFERENCECHECK_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_MOVEFORWARDINGREFERENCECHECK_H diff --git a/clang-tools-extra/clang-tidy/misc/MultipleStatementMacroCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp index 9d485fd211b..9fa2f43c1f7 100644 --- a/clang-tools-extra/clang-tidy/misc/MultipleStatementMacroCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.cpp @@ -15,7 +15,7 @@ using namespace clang::ast_matchers; namespace clang { namespace tidy { -namespace misc { +namespace bugprone { namespace { @@ -101,6 +101,6 @@ void MultipleStatementMacroCheck::check( "unconditionally executed"); } -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/MultipleStatementMacroCheck.h b/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.h index 77a6b27dcde..efc659910ba 100644 --- a/clang-tools-extra/clang-tidy/misc/MultipleStatementMacroCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/MultipleStatementMacroCheck.h @@ -7,21 +7,21 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_MULTIPLE_STATEMENT_MACRO_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_MULTIPLE_STATEMENT_MACRO_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_MULTIPLE_STATEMENT_MACRO_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_MULTIPLE_STATEMENT_MACRO_H #include "../ClangTidy.h" namespace clang { namespace tidy { -namespace misc { +namespace bugprone { /// Detect multiple statement macros that are used in unbraced conditionals. /// Only the first statement of the macro will be inside the conditional and the /// other ones will be executed unconditionally. /// /// For the user-facing documentation see: -/// http://clang.llvm.org/extra/clang-tidy/checks/misc-multiple-statement-macro.html +/// http://clang.llvm.org/extra/clang-tidy/checks/bugprone-multiple-statement-macro.html class MultipleStatementMacroCheck : public ClangTidyCheck { public: MultipleStatementMacroCheck(StringRef Name, ClangTidyContext *Context) @@ -30,8 +30,8 @@ public: void check(const ast_matchers::MatchFinder::MatchResult &Result) override; }; -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_MULTIPLE_STATEMENT_MACRO_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_MULTIPLE_STATEMENT_MACRO_H diff --git a/clang-tools-extra/clang-tidy/misc/UseAfterMoveCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp index 99673766a53..6fa4cab3c3b 100644 --- a/clang-tools-extra/clang-tidy/misc/UseAfterMoveCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp @@ -20,7 +20,7 @@ using namespace clang::tidy::utils; namespace clang { namespace tidy { -namespace misc { +namespace bugprone { namespace { @@ -429,6 +429,6 @@ void UseAfterMoveCheck::check(const MatchFinder::MatchResult &Result) { emitDiagnostic(MovingCall, Arg, Use, this, Result.Context); } -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/UseAfterMoveCheck.h b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h index 2f6be5be300..f6dea68d242 100644 --- a/clang-tools-extra/clang-tidy/misc/UseAfterMoveCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.h @@ -7,20 +7,20 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_USEAFTERMOVECHECK_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_USEAFTERMOVECHECK_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_USEAFTERMOVECHECK_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_USEAFTERMOVECHECK_H #include "../ClangTidy.h" namespace clang { namespace tidy { -namespace misc { +namespace bugprone { /// The check warns if an object is used after it has been moved, without an /// intervening reinitialization. /// /// For details, see the user-facing documentation: -/// http://clang.llvm.org/extra/clang-tidy/checks/misc-use-after-move.html +/// http://clang.llvm.org/extra/clang-tidy/checks/bugprone-use-after-move.html class UseAfterMoveCheck : public ClangTidyCheck { public: UseAfterMoveCheck(StringRef Name, ClangTidyContext *Context) @@ -29,8 +29,8 @@ public: void check(const ast_matchers::MatchFinder::MatchResult &Result) override; }; -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_USEAFTERMOVECHECK_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_USEAFTERMOVECHECK_H diff --git a/clang-tools-extra/clang-tidy/misc/VirtualNearMissCheck.cpp b/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp index fd74bb6692e..6b3f49879af 100644 --- a/clang-tools-extra/clang-tidy/misc/VirtualNearMissCheck.cpp +++ b/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.cpp @@ -17,7 +17,7 @@ using namespace clang::ast_matchers; namespace clang { namespace tidy { -namespace misc { +namespace bugprone { AST_MATCHER(CXXMethodDecl, isStatic) { return Node.isStatic(); } @@ -269,6 +269,6 @@ void VirtualNearMissCheck::check(const MatchFinder::MatchResult &Result) { } } -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/misc/VirtualNearMissCheck.h b/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.h index 3d3b9eba762..ea1e256605d 100644 --- a/clang-tools-extra/clang-tidy/misc/VirtualNearMissCheck.h +++ b/clang-tools-extra/clang-tidy/bugprone/VirtualNearMissCheck.h @@ -7,15 +7,15 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_VIRTUAL_NEAR_MISS_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_VIRTUAL_NEAR_MISS_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_VIRTUAL_NEAR_MISS_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_VIRTUAL_NEAR_MISS_H #include "../ClangTidy.h" #include "llvm/ADT/DenseMap.h" namespace clang { namespace tidy { -namespace misc { +namespace bugprone { /// \brief Checks for near miss of virtual methods. /// @@ -23,7 +23,7 @@ namespace misc { /// very similar name and an identical signature defined in a base class. /// /// For the user-facing documentation see: -/// http://clang.llvm.org/extra/clang-tidy/checks/misc-virtual-near-miss.html +/// http://clang.llvm.org/extra/clang-tidy/checks/bugprone-virtual-near-miss.html class VirtualNearMissCheck : public ClangTidyCheck { public: VirtualNearMissCheck(StringRef Name, ClangTidyContext *Context) @@ -58,8 +58,8 @@ private: const unsigned EditDistanceThreshold = 1; }; -} // namespace misc +} // namespace bugprone } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_MISC_VIRTUAL_NEAR_MISS_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_BUGPRONE_VIRTUAL_NEAR_MISS_H diff --git a/clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp b/clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp index 359cd579648..4a60ebd20a5 100644 --- a/clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp @@ -10,6 +10,7 @@ #include "../ClangTidy.h" #include "../ClangTidyModule.h" #include "../ClangTidyModuleRegistry.h" +#include "../bugprone/UseAfterMoveCheck.h" #include "../cppcoreguidelines/NoMallocCheck.h" #include "../cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.h" #include "../cppcoreguidelines/ProTypeMemberInitCheck.h" @@ -22,7 +23,6 @@ #include "../misc/NoexceptMoveConstructorCheck.h" #include "../misc/StaticAssertCheck.h" #include "../misc/UndelegatedConstructor.h" -#include "../misc/UseAfterMoveCheck.h" #include "../modernize/DeprecatedHeadersCheck.h" #include "../modernize/UseAutoCheck.h" #include "../modernize/UseEmplaceCheck.h" @@ -59,7 +59,7 @@ public: "hicpp-function-size"); CheckFactories.registerCheck<readability::IdentifierNamingCheck>( "hicpp-named-parameter"); - CheckFactories.registerCheck<misc::UseAfterMoveCheck>( + CheckFactories.registerCheck<bugprone::UseAfterMoveCheck>( "hicpp-invalid-access-moved"); CheckFactories.registerCheck<cppcoreguidelines::ProTypeMemberInitCheck>( "hicpp-member-init"); diff --git a/clang-tools-extra/clang-tidy/misc/CMakeLists.txt b/clang-tools-extra/clang-tidy/misc/CMakeLists.txt index f67c1365949..8a4dcbd5638 100644 --- a/clang-tools-extra/clang-tidy/misc/CMakeLists.txt +++ b/clang-tools-extra/clang-tidy/misc/CMakeLists.txt @@ -1,16 +1,11 @@ set(LLVM_LINK_COMPONENTS support) add_clang_library(clangTidyMiscModule - AssertSideEffectCheck.cpp ForwardingReferenceOverloadCheck.cpp LambdaFunctionNameCheck.cpp MisplacedConstCheck.cpp UnconventionalAssignOperatorCheck.cpp - BoolPointerImplicitConversionCheck.cpp DefinitionsInHeadersCheck.cpp - FoldInitTypeCheck.cpp - ForwardDeclarationNamespaceCheck.cpp - InaccurateEraseCheck.cpp IncorrectRoundings.cpp InefficientAlgorithmCheck.cpp MacroParenthesesCheck.cpp @@ -19,8 +14,6 @@ add_clang_library(clangTidyMiscModule MisplacedWideningCastCheck.cpp MoveConstantArgumentCheck.cpp MoveConstructorInitCheck.cpp - MoveForwardingReferenceCheck.cpp - MultipleStatementMacroCheck.cpp NewDeleteOverloadsCheck.cpp NoexceptMoveConstructorCheck.cpp NonCopyableObjects.cpp @@ -43,8 +36,6 @@ add_clang_library(clangTidyMiscModule UnusedParametersCheck.cpp UnusedRAIICheck.cpp UnusedUsingDeclsCheck.cpp - UseAfterMoveCheck.cpp - VirtualNearMissCheck.cpp LINK_LIBS clangAnalysis diff --git a/clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp b/clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp index fbc999f2a0a..1dddd4e2832 100644 --- a/clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp @@ -10,13 +10,8 @@ #include "../ClangTidy.h" #include "../ClangTidyModule.h" #include "../ClangTidyModuleRegistry.h" -#include "AssertSideEffectCheck.h" -#include "BoolPointerImplicitConversionCheck.h" #include "DefinitionsInHeadersCheck.h" -#include "FoldInitTypeCheck.h" -#include "ForwardDeclarationNamespaceCheck.h" #include "ForwardingReferenceOverloadCheck.h" -#include "InaccurateEraseCheck.h" #include "IncorrectRoundings.h" #include "InefficientAlgorithmCheck.h" #include "LambdaFunctionNameCheck.h" @@ -26,8 +21,6 @@ #include "MisplacedWideningCastCheck.h" #include "MoveConstantArgumentCheck.h" #include "MoveConstructorInitCheck.h" -#include "MoveForwardingReferenceCheck.h" -#include "MultipleStatementMacroCheck.h" #include "NewDeleteOverloadsCheck.h" #include "NoexceptMoveConstructorCheck.h" #include "NonCopyableObjects.h" @@ -51,8 +44,6 @@ #include "UnusedParametersCheck.h" #include "UnusedRAIICheck.h" #include "UnusedUsingDeclsCheck.h" -#include "UseAfterMoveCheck.h" -#include "VirtualNearMissCheck.h" namespace clang { namespace tidy { @@ -61,8 +52,6 @@ namespace misc { class MiscModule : public ClangTidyModule { public: void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { - CheckFactories.registerCheck<AssertSideEffectCheck>( - "misc-assert-side-effect"); CheckFactories.registerCheck<ForwardingReferenceOverloadCheck>( "misc-forwarding-reference-overload"); CheckFactories.registerCheck<LambdaFunctionNameCheck>( @@ -70,14 +59,8 @@ public: CheckFactories.registerCheck<MisplacedConstCheck>("misc-misplaced-const"); CheckFactories.registerCheck<UnconventionalAssignOperatorCheck>( "misc-unconventional-assign-operator"); - CheckFactories.registerCheck<BoolPointerImplicitConversionCheck>( - "misc-bool-pointer-implicit-conversion"); CheckFactories.registerCheck<DefinitionsInHeadersCheck>( "misc-definitions-in-headers"); - CheckFactories.registerCheck<FoldInitTypeCheck>("misc-fold-init-type"); - CheckFactories.registerCheck<ForwardDeclarationNamespaceCheck>( - "misc-forward-declaration-namespace"); - CheckFactories.registerCheck<InaccurateEraseCheck>("misc-inaccurate-erase"); CheckFactories.registerCheck<IncorrectRoundings>( "misc-incorrect-roundings"); CheckFactories.registerCheck<InefficientAlgorithmCheck>( @@ -92,10 +75,6 @@ public: "misc-move-const-arg"); CheckFactories.registerCheck<MoveConstructorInitCheck>( "misc-move-constructor-init"); - CheckFactories.registerCheck<MoveForwardingReferenceCheck>( - "misc-move-forwarding-reference"); - CheckFactories.registerCheck<MultipleStatementMacroCheck>( - "misc-multiple-statement-macro"); CheckFactories.registerCheck<NewDeleteOverloadsCheck>( "misc-new-delete-overloads"); CheckFactories.registerCheck<NoexceptMoveConstructorCheck>( @@ -136,9 +115,6 @@ public: CheckFactories.registerCheck<UnusedRAIICheck>("misc-unused-raii"); CheckFactories.registerCheck<UnusedUsingDeclsCheck>( "misc-unused-using-decls"); - CheckFactories.registerCheck<UseAfterMoveCheck>("misc-use-after-move"); - CheckFactories.registerCheck<VirtualNearMissCheck>( - "misc-virtual-near-miss"); } }; |