aboutsummaryrefslogtreecommitdiff
path: root/clang-tidy/tool/ClangTidyMain.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2014-09-24 18:36:03 +0000
committerAlexander Kornienko <alexfh@google.com>2014-09-24 18:36:03 +0000
commit07cc408773005b67048f2849c8cae5e716767040 (patch)
tree7b56b7b17c03eec59a933756fc2eae6a3a28bde6 /clang-tidy/tool/ClangTidyMain.cpp
parent4958bddcf7f82e6651c5496983fe438883749f2c (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.cpp15
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);