Commit Graph

16 Commits

Author SHA1 Message Date
Benjamin Kramer 9b28d528b7 Apply some suggestions from clang-tidy's performance-unnecessary-value-param.
No functionality change intended.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272789 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-15 14:20:56 +00:00
Alexander Kornienko 3323b7f59f Print options, if requested.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261625 91177308-0d34-0410-b5e6-96231b3b80d8
2016-02-23 10:29:02 +00:00
Manuel Klimek 0267370b16 Add fall-back mode for clang tools.
Run without flags if we cannot load a compilation database. This matches
the behavior of clang itself when simply called with a source file.

Based on a patch by Russell Wallace.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254599 91177308-0d34-0410-b5e6-96231b3b80d8
2015-12-03 10:38:53 +00:00
Alexander Kornienko b42f54f3e3 Make ArgumentAdjuster aware of the current file being processed.
Summary:
This is needed to handle per-project configurations when adding extra
arguments in clang-tidy for example.

Reviewers: klimek, djasper

Subscribers: djasper, cfe-commits, klimek

Differential Revision: http://reviews.llvm.org/D14191

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252134 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-05 02:19:53 +00:00
Alexander Kornienko 19d5024c80 [clang-tidy] Make NumOccurrenceFlag for SourcePaths configurable.
Added an additional ctor that takes a NumOccurrenceFlag parameter for the
SourcePaths option. This frees applications from always having to pass at least
one source file, e.g., -list-checks.

http://reviews.llvm.org/D12069

Patch by Don Hinton!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245204 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-17 10:01:42 +00:00
Benjamin Kramer 0c3abcc1b9 [tooling] Move ArgumentsAdjustingCompilations into an anonymous namespace.
NFC.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@232947 91177308-0d34-0410-b5e6-96231b3b80d8
2015-03-23 12:47:15 +00:00
Chris Bieneman 0946642cf6 Adopt new cl::HideUnrelatedOptions API added r226729.
Summary: cl::HideUnrelatedOptions allows tools to hide all options not part of a specific OptionCategory. This is the common use case for cl::getRegisteredOptions, which should be deprecated in the future because it exposes implementation details of command line parsing.

Reviewers: dexonsmith

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D7109

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@226741 91177308-0d34-0410-b5e6-96231b3b80d8
2015-01-21 23:26:11 +00:00
Alexander Kornienko dd74c42fb6 Make ArgumentsAdjuster an std::function.
Reviewers: klimek

Reviewed By: klimek

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D6505

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@223248 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-03 17:53:02 +00:00
Alexander Kornienko e4d539841b [clang-tidy] Move -extra-arg handling to CommonOptionsProvider
Summary:
Handle -extra-arg and -extra-arg-before options in the
CommonOptionsProvider so they can be used in all clang tools. Adjust arguments
in a CompilationDatabase wrapper instead of adding ArgumentsAdjuster to the
tool.

Reviewers: djasper, klimek

Reviewed By: klimek

Subscribers: klimek, cfe-commits

Differential Revision: http://reviews.llvm.org/D6073

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@221248 91177308-0d34-0410-b5e6-96231b3b80d8
2014-11-04 08:51:24 +00:00
David Blaikie 1ad06b0994 CompilationDatabase: Sure-up ownership of compilation databases using std::unique_ptr
Diving into the memory leaks fixed by r213851 there was one case of a
memory leak of a CompilationDatabase due to not properly taking
ownership of the result of "CompilationDatabase::autoDetectFromSource".
Given that both implementations and callers have been using unique_ptr
to own CompilationDatabase objects - make this explicit in the API to
reduce the risk of further leaks.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215215 91177308-0d34-0410-b5e6-96231b3b80d8
2014-08-08 16:06:15 +00:00
Alexander Kornienko a6e925a0f1 Filter-out irrelevant command-line options in CommonOptionsParser.
Summary:
Leave only -help, -version and options from the specified category.
Updated clang-check and clang-tidy. As clang-tidy is in a separate repository,
here's the diff:

  Index: tools/extra/clang-tidy/tool/ClangTidyMain.cpp
  ===================================================================
  --- tools/extra/clang-tidy/tool/ClangTidyMain.cpp       (revision 197024)
  +++ tools/extra/clang-tidy/tool/ClangTidyMain.cpp       (working copy)
  @@ -39,7 +39,7 @@
   // FIXME: Add option to list name/description of all checks.
   
   int main(int argc, const char **argv) {
  -  CommonOptionsParser OptionsParser(argc, argv);
  +  CommonOptionsParser OptionsParser(argc, argv, ClangTidyCategory);
   
     SmallVector<clang::tidy::ClangTidyError, 16> Errors;
     clang::tidy::runClangTidy(Checks, OptionsParser.getCompilations(),

Reviewers: djasper, klimek

Reviewed By: djasper

CC: cfe-commits, revane, klimek

Differential Revision: http://llvm-reviews.chandlerc.com/D2379

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@197139 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-12 09:59:42 +00:00
Manuel Klimek 8b1f2f9d36 Allow clang tools to display an overview when using the CommonOptionsParser.
Patch by Guillaume Papin.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186671 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-19 12:20:59 +00:00
Edwin Vane b1f67dbbb1 Style and Doc fix for CommonOptionsParser
- Renaming GetCompilations() and GetSourcePathList() to follow LLVM
  style.
- Updating docs to reflect name change.
- Also updating help text to not mention clang-check since this class
  can be used by any tool.

Reviewed By: Alexander Kornienko


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170229 91177308-0d34-0410-b5e6-96231b3b80d8
2012-12-14 18:58:25 +00:00
Alexander Kornienko ffb155f4f8 Only add common tool options when CommonOptionsParser is used.
Summary: Subj.

Reviewers: chandlerc, klimek, djasper

Reviewed By: klimek

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D29

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162798 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-28 22:15:41 +00:00
Alexander Kornienko 6fbe982bb4 Updated LibTooling.html, minor improvements in CommonOptionsParser
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162521 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-24 00:39:14 +00:00
Alexander Kornienko d7166b01df Reverted clang-check to fully supported CommandLine Library use-case: global
static variables.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162391 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-22 20:52:52 +00:00