summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clang-tidy/tool
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
commite995154ac2f15f58d701f2251da417aac4da9d3c (patch)
tree6aaf8242d5c80cb85a2fc449da3c93a89853f8c4 /clang-tools-extra/clang-tidy/tool
parent7827217131ffe946e2b44eb87b66cb13a36fb98d (diff)
downloadbcm5719-llvm-e995154ac2f15f58d701f2251da417aac4da9d3c.tar.gz
bcm5719-llvm-e995154ac2f15f58d701f2251da417aac4da9d3c.zip
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 llvm-svn: 218402
Diffstat (limited to 'clang-tools-extra/clang-tidy/tool')
-rw-r--r--clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
index f11cbeec628..a9b29f682ca 100644
--- a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
+++ b/clang-tools-extra/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);
OpenPOWER on IntegriCloud