summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Tooling/ExecutionTest.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Revert "[Tooling] [0/1] Refactor FrontendActionFactory::create() to return ↵Roman Lebedev2018-02-271-3/+1
| | | | | | | | | | | | std::unique_ptr<>" This reverts commit rL326201 This broke gcc4.8 builds, compiler just segfaults:¬ http://lab.llvm.org:8011/builders/clang-atom-d525-fedora-rel/builds/14909¬ http://lab.llvm.org:8011/builders/clang-x86_64-linux-abi-test/builds/22673¬ llvm-svn: 326204
* [Tooling] [0/1] Refactor FrontendActionFactory::create() to return ↵Roman Lebedev2018-02-271-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | std::unique_ptr<> Summary: Noticed during review of D41102. I'm not sure whether there are any principal reasons why it returns raw owning pointer, or it is just a old code that was not updated post-C++11. I'm not too sure what testing i should do, because `check-all` is not error clean here for some reason, but it does not //appear// asif those failures are related to these changes. This is clang part. Clang-tools-extra part is D43780. Reviewers: klimek, bkramer, alexfh, pcc Reviewed By: alexfh Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D43779 llvm-svn: 326201
* [Tooling] Test more APIs of ToolExecutor. NFC.Eric Liu2018-01-261-3/+8
| | | | llvm-svn: 323517
* Add a tool executor that runs actions on all TUs in the compilation database.Eric Liu2018-01-051-1/+68
| | | | | | | | | | | | Summary: Tool results are deduplicated by the result key. Reviewers: hokein Subscribers: klimek, mgorny, cfe-commits Differential Revision: https://reviews.llvm.org/D41729 llvm-svn: 321864
* [Tooling] Test internal::createExecutorFromCommandLineArgsImpl instead of ↵Eric Liu2017-11-061-8/+8
| | | | | | the wrapper. llvm-svn: 317466
* [Tooling] Fix linking of StandaloneToolExecutorPlugin.Eric Liu2017-11-031-7/+0
| | | | llvm-svn: 317332
* Try to fix warnings and windows test failures caused by r316653Eric Liu2017-10-261-9/+9
| | | | llvm-svn: 316661
* [Tooling] A new framework for executing clang frontend actions.Eric Liu2017-10-261-0/+228
Summary: This defines a `clang::tooling::ToolExecutor` interface that can be extended to support different execution plans including standalone execution on a given set of TUs or parallel execution on all TUs in a codebase. In order to enable multiprocessing execution, tool actions are expected to output result into a `ToolResults` interface provided by executors. The `ToolResults` interface abstracts how results are stored e.g. in-memory for standalone executions or on-disk for large-scale execution. New executors can be registered as `ToolExecutorPlugin`s via the `ToolExecutorPluginRegistry`. CLI tools can use `createExecutorFromCommandLineArgs` to create a specific registered executor according to the command-line arguments. This patch also implements `StandaloneToolExecutor` which has the same behavior as the current `ClangTool` interface, i.e. execute frontend actions on a given set of TUs. At this point, it's simply a wrapper around `ClangTool` at this point. This is still experimental but expected to replace the existing `ClangTool` interface so that specific tools would not need to worry about execution. Reviewers: klimek, arphaman, hokein, sammccall Reviewed By: klimek Subscribers: cfe-commits, djasper, mgorny, omtcyfz Differential Revision: https://reviews.llvm.org/D34272 llvm-svn: 316653
OpenPOWER on IntegriCloud