summaryrefslogtreecommitdiffstats
path: root/clang/unittests/Tooling/ExecutionTest.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [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