From 8ca8651171ae2caeb93c15a9ec6189cff8d2444a Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Tue, 22 Jul 2014 12:30:35 +0000 Subject: [clang-tidy] Add a check for RAII temporaries. Summary: This tries to find code similar that immediately destroys an object that looks like it's trying to follow RAII. { scoped_lock(&global_mutex); critical_section(); } This checker will have false positives if someone uses this pattern to legitimately invoke a destructor immediately (or the statement is at the end of a scope anyway). To reduce the number we ignore this pattern in macros (this is heavily used by gtest) and ignore objects with no user-defined destructor. Reviewers: alexfh, djasper Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D4615 llvm-svn: 213647 --- clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp') diff --git a/clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp b/clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp index 669ad081112..e3dbdc3bcbe 100644 --- a/clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp @@ -14,6 +14,7 @@ #include "BoolPointerImplicitConversion.h" #include "RedundantSmartptrGet.h" #include "SwappedArgumentsCheck.h" +#include "UnusedRAII.h" #include "UseOverride.h" namespace clang { @@ -34,6 +35,9 @@ public: CheckFactories.addCheckFactory( "misc-swapped-arguments", new ClangTidyCheckFactory()); + CheckFactories.addCheckFactory( + "misc-unused-raii", + new ClangTidyCheckFactory()); CheckFactories.addCheckFactory( "misc-use-override", new ClangTidyCheckFactory()); -- cgit v1.2.3