summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2014-10-16 11:27:57 +0000
committerAlexander Kornienko <alexfh@google.com>2014-10-16 11:27:57 +0000
commit1efc425551c0c7ac95cacad8f63dc31eb46c1f04 (patch)
treef1abd4eee68b1245551d67fcb968d46b64700efc /clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
parent0445380f4f6f40c56871147d207cb3bf85529967 (diff)
downloadbcm5719-llvm-1efc425551c0c7ac95cacad8f63dc31eb46c1f04.tar.gz
bcm5719-llvm-1efc425551c0c7ac95cacad8f63dc31eb46c1f04.zip
[clang-tidy] Default options in modules.
Summary: This patch allows modules to specify default options for the checks defined in them. This way a sufficiently configurable check can be registered in multiple modules with different default options. E.g. the SpacesBeforeComments option may be set to 1 for the "llvm-namespace-comments" check and to 2 for the "google-readability-namespace-comment" check without modifying or extending the check code. This patch also registers the google-readability-braces-around-statements check with suitable defaults. Reviewers: djasper Reviewed By: djasper Subscribers: curdeius, cfe-commits Differential Revision: http://reviews.llvm.org/D5798 llvm-svn: 219923
Diffstat (limited to 'clang-tools-extra/clang-tidy/ClangTidyOptions.cpp')
-rw-r--r--clang-tools-extra/clang-tidy/ClangTidyOptions.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp b/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
index a4bfe0488c1..5283a5cd2cc 100644
--- a/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
+++ b/clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
@@ -8,6 +8,7 @@
//===----------------------------------------------------------------------===//
#include "ClangTidyOptions.h"
+#include "ClangTidyModuleRegistry.h"
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Support/Errc.h"
@@ -96,6 +97,19 @@ template <> struct MappingTraits<ClangTidyOptions> {
namespace clang {
namespace tidy {
+ClangTidyOptions ClangTidyOptions::getDefaults() {
+ ClangTidyOptions Options;
+ Options.Checks = "";
+ Options.HeaderFilterRegex = "";
+ Options.AnalyzeTemporaryDtors = false;
+ Options.User = llvm::None;
+ for (ClangTidyModuleRegistry::iterator I = ClangTidyModuleRegistry::begin(),
+ E = ClangTidyModuleRegistry::end();
+ I != E; ++I)
+ Options = Options.mergeWith(I->instantiate()->getModuleOptions());
+ return Options;
+}
+
ClangTidyOptions
ClangTidyOptions::mergeWith(const ClangTidyOptions &Other) const {
ClangTidyOptions Result = *this;
OpenPOWER on IntegriCloud