diff options
author | Alexander Kornienko <alexfh@google.com> | 2014-09-24 18:36:03 +0000 |
---|---|---|
committer | Alexander Kornienko <alexfh@google.com> | 2014-09-24 18:36:03 +0000 |
commit | 07cc408773005b67048f2849c8cae5e716767040 (patch) | |
tree | 7b56b7b17c03eec59a933756fc2eae6a3a28bde6 /clang-tidy/tool/ClangTidyMain.cpp | |
parent | 4958bddcf7f82e6651c5496983fe438883749f2c (diff) |
Provide user name in ClangTidyOptions.
Summary:
This adds the ClangTidyOptions::User field and fills it from the USER
or the USERNAME environment variable, if possible. The FileOptionsProvider now
takes "default" options instead of "fallback" options, as it now uses these when
an option is not set in the configuration file (one exception is the checks
list).
Reviewers: bkramer, klimek
Reviewed By: klimek
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D5440
git-svn-id: https://llvm.org/svn/llvm-project/clang-tools-extra/trunk@218402 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'clang-tidy/tool/ClangTidyMain.cpp')
-rw-r--r-- | clang-tidy/tool/ClangTidyMain.cpp | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/clang-tidy/tool/ClangTidyMain.cpp b/clang-tidy/tool/ClangTidyMain.cpp index f11cbeec..a9b29f68 100644 --- a/clang-tidy/tool/ClangTidyMain.cpp +++ b/clang-tidy/tool/ClangTidyMain.cpp @@ -17,6 +17,7 @@ #include "../ClangTidy.h" #include "clang/Tooling/CommonOptionsParser.h" +#include "llvm/Support/Process.h" using namespace clang::ast_matchers; using namespace clang::driver; @@ -143,10 +144,14 @@ int clangTidyMain(int argc, const char **argv) { return 1; } - ClangTidyOptions FallbackOptions; - FallbackOptions.Checks = DefaultChecks; - FallbackOptions.HeaderFilterRegex = HeaderFilter; - FallbackOptions.AnalyzeTemporaryDtors = AnalyzeTemporaryDtors; + ClangTidyOptions DefaultOptions; + DefaultOptions.Checks = DefaultChecks; + DefaultOptions.HeaderFilterRegex = HeaderFilter; + DefaultOptions.AnalyzeTemporaryDtors = AnalyzeTemporaryDtors; + DefaultOptions.User = llvm::sys::Process::GetEnv("USER"); + // USERNAME is used on Windows. + if (!DefaultOptions.User) + DefaultOptions.User = llvm::sys::Process::GetEnv("USERNAME"); ClangTidyOptions OverrideOptions; if (Checks.getNumOccurrences() > 0) @@ -157,7 +162,7 @@ int clangTidyMain(int argc, const char **argv) { OverrideOptions.AnalyzeTemporaryDtors = AnalyzeTemporaryDtors; auto OptionsProvider = llvm::make_unique<FileOptionsProvider>( - GlobalOptions, FallbackOptions, OverrideOptions); + GlobalOptions, DefaultOptions, OverrideOptions); std::string FileName = OptionsParser.getSourcePathList().front(); ClangTidyOptions EffectiveOptions = OptionsProvider->getOptions(FileName); |