diff options
author | Alexander Kornienko <alexfh@google.com> | 2014-10-16 11:27:57 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2014-10-16 11:27:57 +0000 |
commit | 1efc425551c0c7ac95cacad8f63dc31eb46c1f04 (patch) | |
tree | f1abd4eee68b1245551d67fcb968d46b64700efc /clang-tools-extra/clang-tidy/ClangTidyOptions.cpp | |
parent | 0445380f4f6f40c56871147d207cb3bf85529967 (diff) | |
download | bcm5719-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.cpp | 14 |
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; |