//===--- AllTUsExecution.h - Execute actions on all TUs. -*- C++ --------*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// // // This file defines a tool executor that runs given actions on all TUs in the // compilation database. Tool results are deuplicated by the result key. // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_TOOLING_ALLTUSEXECUTION_H #define LLVM_CLANG_TOOLING_ALLTUSEXECUTION_H #include "clang/Tooling/ArgumentsAdjusters.h" #include "clang/Tooling/Execution.h" #include <optional> namespace clang { namespace tooling { /// Executes given frontend actions on all files/TUs in the compilation /// database. class AllTUsToolExecutor : public ToolExecutor { … }; extern llvm::cl::opt<unsigned> ExecutorConcurrency; extern llvm::cl::opt<std::string> Filter; } // end namespace tooling } // end namespace clang #endif // LLVM_CLANG_TOOLING_ALLTUSEXECUTION_H