diff options
Diffstat (limited to 'include/clang/Tooling/Execution.h')
| -rw-r--r-- | include/clang/Tooling/Execution.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/clang/Tooling/Execution.h b/include/clang/Tooling/Execution.h index 68aef53cb58f..6bf1cf391b75 100644 --- a/include/clang/Tooling/Execution.h +++ b/include/clang/Tooling/Execution.h @@ -37,6 +37,8 @@ namespace clang { namespace tooling { +extern llvm::cl::opt<std::string> ExecutorName; + /// An abstraction for the result of a tool execution. For example, the /// underlying result can be in-memory or on-disk. /// @@ -114,6 +116,13 @@ public: /// Returns the name of a specific executor. virtual StringRef getExecutorName() const = 0; + /// Should return true iff executor runs all actions in a single process. + /// Clients can use this signal to find out if they can collect results + /// in-memory (e.g. to avoid serialization costs of using ToolResults). + /// The single-process executors can still run multiple threads, but all + /// executions are guaranteed to share the same memory. + virtual bool isSingleProcess() const = 0; + /// Executes each action with a corresponding arguments adjuster. virtual llvm::Error execute(llvm::ArrayRef< |
