//===- Job.h - Commands to Execute ------------------------------*- 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 // //===----------------------------------------------------------------------===// #ifndef LLVM_CLANG_DRIVER_JOB_H #define LLVM_CLANG_DRIVER_JOB_H #include "clang/Basic/LLVM.h" #include "clang/Driver/InputInfo.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/SmallVector.h" #include "llvm/ADT/StringRef.h" #include "llvm/ADT/iterator.h" #include "llvm/Option/Option.h" #include "llvm/Support/Program.h" #include <memory> #include <optional> #include <string> #include <utility> #include <vector> namespace clang { namespace driver { class Action; class InputInfo; class Tool; struct CrashReportInfo { … }; // Encodes the kind of response file supported for a command invocation. // Response files are necessary if the command line gets too large, requiring // the arguments to be transferred to a file. struct ResponseFileSupport { … }; /// Command - An executable path/name and argument vector to /// execute. class Command { … }; /// Use the CC1 tool callback when available, to avoid creating a new process class CC1Command : public Command { … }; /// JobList - A sequence of jobs to perform. class JobList { … }; } // namespace driver } // namespace clang #endif // LLVM_CLANG_DRIVER_JOB_H