|
clang
3.8.0
|
Compilation - A set of tasks to perform for a single driver invocation. More...
#include <Compilation.h>
Public Member Functions | |
| Compilation (const Driver &D, const ToolChain &DefaultToolChain, llvm::opt::InputArgList *Args, llvm::opt::DerivedArgList *TranslatedArgs) | |
| ~Compilation () | |
| const Driver & | getDriver () const |
| const ToolChain & | getDefaultToolChain () const |
| const ToolChain * | getCudaHostToolChain () const |
| const ToolChain * | getCudaDeviceToolChain () const |
| void | setCudaHostToolChain (const ToolChain *HostToolChain) |
| void | setCudaDeviceToolChain (const ToolChain *DeviceToolChain) |
| const llvm::opt::InputArgList & | getInputArgs () const |
| const llvm::opt::DerivedArgList & | getArgs () const |
| llvm::opt::DerivedArgList & | getArgs () |
| ActionList & | getActions () |
| const ActionList & | getActions () const |
| template<typename T , typename... Args> | |
| T * | MakeAction (Args &&...Arg) |
| Creates a new Action owned by this Compilation. More... | |
| JobList & | getJobs () |
| const JobList & | getJobs () const |
| void | addCommand (std::unique_ptr< Command > C) |
| const llvm::opt::ArgStringList & | getTempFiles () const |
| const ArgStringMap & | getResultFiles () const |
| const ArgStringMap & | getFailureResultFiles () const |
| StringRef | getSysRoot () const |
| Returns the sysroot path. More... | |
| const llvm::opt::DerivedArgList & | getArgsForToolChain (const ToolChain *TC, const char *BoundArch) |
getArgsForToolChain - Return the derived argument list for the tool chain TC (or the default tool chain, if TC is not specified). More... | |
| const char * | addTempFile (const char *Name) |
| addTempFile - Add a file to remove on exit, and returns its argument. More... | |
| const char * | addResultFile (const char *Name, const JobAction *JA) |
| addResultFile - Add a file to remove on failure, and returns its argument. More... | |
| const char * | addFailureResultFile (const char *Name, const JobAction *JA) |
| addFailureResultFile - Add a file to remove if we crash, and returns its argument. More... | |
| bool | CleanupFile (const char *File, bool IssueErrors=false) const |
| CleanupFile - Delete a given file. More... | |
| bool | CleanupFileList (const llvm::opt::ArgStringList &Files, bool IssueErrors=false) const |
| CleanupFileList - Remove the files in the given list. More... | |
| bool | CleanupFileMap (const ArgStringMap &Files, const JobAction *JA, bool IssueErrors=false) const |
| CleanupFileMap - Remove the files in the given map. More... | |
| int | ExecuteCommand (const Command &C, const Command *&FailingCommand) const |
| ExecuteCommand - Execute an actual command. More... | |
| void | ExecuteJobs (const JobList &Jobs, SmallVectorImpl< std::pair< int, const Command * >> &FailingCommands) const |
| ExecuteJob - Execute a single job. More... | |
| void | initCompilationForDiagnostics () |
| initCompilationForDiagnostics - Remove stale state and suppress output so compilation can be reexecuted to generate additional diagnostic information (e.g., preprocessed source(s)). More... | |
| bool | isForDiagnostics () const |
| Return true if we're compiling for diagnostics. More... | |
Compilation - A set of tasks to perform for a single driver invocation.
Definition at line 34 of file Compilation.h.
| Compilation::Compilation | ( | const Driver & | D, |
| const ToolChain & | DefaultToolChain, | ||
| llvm::opt::InputArgList * | Args, | ||
| llvm::opt::DerivedArgList * | TranslatedArgs | ||
| ) |
Definition at line 25 of file Compilation.cpp.
| Compilation::~Compilation | ( | ) |
Definition at line 32 of file Compilation.cpp.
|
inline |
Definition at line 125 of file Compilation.h.
References clang::driver::JobList::addJob().
Referenced by ConstructGoldLinkJob(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::ClangAs::ConstructJob(), clang::driver::tools::gcc::Common::ConstructJob(), clang::driver::tools::hexagon::Assembler::ConstructJob(), clang::driver::tools::hexagon::Linker::ConstructJob(), clang::driver::tools::amdgpu::Linker::ConstructJob(), clang::driver::tools::wasm::Linker::ConstructJob(), clang::driver::tools::cloudabi::Linker::ConstructJob(), clang::driver::tools::darwin::Assembler::ConstructJob(), clang::driver::tools::darwin::Linker::ConstructJob(), clang::driver::tools::darwin::Lipo::ConstructJob(), clang::driver::tools::darwin::Dsymutil::ConstructJob(), clang::driver::tools::darwin::VerifyDebug::ConstructJob(), clang::driver::tools::openbsd::Assembler::ConstructJob(), clang::driver::tools::openbsd::Linker::ConstructJob(), clang::driver::tools::bitrig::Assembler::ConstructJob(), clang::driver::tools::bitrig::Linker::ConstructJob(), clang::driver::tools::freebsd::Assembler::ConstructJob(), clang::driver::tools::freebsd::Linker::ConstructJob(), clang::driver::tools::netbsd::Assembler::ConstructJob(), clang::driver::tools::netbsd::Linker::ConstructJob(), clang::driver::tools::gnutools::Assembler::ConstructJob(), clang::driver::tools::gnutools::Linker::ConstructJob(), clang::driver::tools::nacltools::Linker::ConstructJob(), clang::driver::tools::minix::Assembler::ConstructJob(), clang::driver::tools::minix::Linker::ConstructJob(), clang::driver::tools::solaris::Assembler::ConstructJob(), clang::driver::tools::solaris::Linker::ConstructJob(), clang::driver::tools::dragonfly::Assembler::ConstructJob(), clang::driver::tools::dragonfly::Linker::ConstructJob(), clang::driver::tools::visualstudio::Linker::ConstructJob(), clang::driver::tools::visualstudio::Compiler::ConstructJob(), clang::driver::tools::MinGW::Assembler::ConstructJob(), clang::driver::tools::MinGW::Linker::ConstructJob(), clang::driver::tools::XCore::Assembler::ConstructJob(), clang::driver::tools::XCore::Linker::ConstructJob(), clang::driver::tools::CrossWindows::Assembler::ConstructJob(), clang::driver::tools::CrossWindows::Linker::ConstructJob(), clang::driver::tools::SHAVE::Compiler::ConstructJob(), clang::driver::tools::SHAVE::Assembler::ConstructJob(), clang::driver::tools::Myriad::Linker::ConstructJob(), clang::driver::tools::PS4cpu::Assemble::ConstructJob(), ConstructPS4LinkJob(), and SplitDebugInfo().
|
inline |
addFailureResultFile - Add a file to remove if we crash, and returns its argument.
Definition at line 161 of file Compilation.h.
References clang::Name.
|
inline |
addResultFile - Add a file to remove on failure, and returns its argument.
Definition at line 154 of file Compilation.h.
References clang::Name.
Referenced by clang::driver::Driver::GetNamedOutputPath().
|
inline |
addTempFile - Add a file to remove on exit, and returns its argument.
Definition at line 147 of file Compilation.h.
References clang::Name.
Referenced by clang::driver::tools::Clang::ConstructJob(), and clang::driver::Driver::GetNamedOutputPath().
CleanupFile - Delete a given file.
| IssueErrors | - Report failures as errors. |
Definition at line 66 of file Compilation.cpp.
References clang::driver::Driver::Diag(), and getDriver().
Referenced by CleanupFileList(), and CleanupFileMap().
| bool Compilation::CleanupFileList | ( | const llvm::opt::ArgStringList & | Files, |
| bool | IssueErrors = false |
||
| ) | const |
CleanupFileList - Remove the files in the given list.
| IssueErrors | - Report failures as errors. |
Definition at line 96 of file Compilation.cpp.
References CleanupFile().
Referenced by clang::driver::Driver::ExecuteCompilation(), and clang::driver::Driver::generateCompilationDiagnostics().
| bool Compilation::CleanupFileMap | ( | const ArgStringMap & | Files, |
| const JobAction * | JA, | ||
| bool | IssueErrors = false |
||
| ) | const |
CleanupFileMap - Remove the files in the given map.
| JA | - If specified, only delete the files associated with this JobAction. Otherwise, delete all files in the map. |
| IssueErrors | - Report failures as errors. |
Definition at line 105 of file Compilation.cpp.
References CleanupFile().
Referenced by clang::driver::Driver::ExecuteCompilation().
ExecuteCommand - Execute an actual command.
| FailingCommand | - For non-zero results, this will be set to the Command which failed, if any. |
Definition at line 121 of file Compilation.cpp.
References AttributeLangSupport::C, clang::driver::Driver::Diag(), clang::driver::Command::Execute(), getArgs(), getDriver(), and clang::driver::Command::Print().
Referenced by ExecuteJobs().
| void Compilation::ExecuteJobs | ( | const JobList & | Jobs, |
| SmallVectorImpl< std::pair< int, const Command * >> & | FailingCommands | ||
| ) | const |
ExecuteJob - Execute a single job.
| FailingCommands | - For non-zero results, this will be a vector of failing commands and their associated result code. |
Definition at line 191 of file Compilation.cpp.
References ExecuteCommand(), and InputsOk().
Referenced by clang::driver::Driver::ExecuteCompilation(), and clang::driver::Driver::generateCompilationDiagnostics().
|
inline |
Definition at line 110 of file Compilation.h.
Referenced by clang::driver::Driver::BuildCompilation(), clang::driver::Driver::BuildJobs(), clang::driver::Driver::BuildUniversalActions(), clang::driver::tools::SHAVE::Compiler::ConstructJob(), clang::driver::Driver::generateCompilationDiagnostics(), clang::driver::Driver::PrintActions(), and UseRelaxAll().
|
inline |
Definition at line 111 of file Compilation.h.
|
inline |
Definition at line 106 of file Compilation.h.
Referenced by addPGOAndCoverageFlags(), clang::driver::Driver::BuildCompilation(), clang::driver::Driver::BuildJobs(), clang::driver::Driver::BuildJobsForAction(), clang::driver::Driver::BuildUniversalActions(), ExecuteCommand(), clang::driver::Driver::ExecuteCompilation(), clang::driver::Driver::generateCompilationDiagnostics(), clang::driver::Driver::GetNamedOutputPath(), clang::driver::Driver::HandleImmediateArgs(), clang::driver::Driver::PrintVersion(), and selectToolForJob().
|
inline |
Definition at line 108 of file Compilation.h.
| const DerivedArgList & Compilation::getArgsForToolChain | ( | const ToolChain * | TC, |
| const char * | BoundArch | ||
| ) |
getArgsForToolChain - Return the derived argument list for the tool chain TC (or the default tool chain, if TC is not specified).
| BoundArch | - The bound architecture name, or 0. |
Definition at line 51 of file Compilation.cpp.
References clang::driver::ToolChain::TranslateArgs().
Referenced by clang::driver::Driver::BuildJobsForAction().
|
inline |
Definition at line 93 of file Compilation.h.
Referenced by buildCudaActions(), clang::driver::Driver::BuildJobsForAction(), and clang::driver::tools::Clang::ConstructJob().
|
inline |
Definition at line 92 of file Compilation.h.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
inline |
Definition at line 91 of file Compilation.h.
Referenced by clang::driver::Driver::BuildCompilation(), clang::driver::Driver::BuildJobs(), clang::driver::Driver::BuildJobsForAction(), CollectArgsForIntegratedAssembler(), clang::driver::Driver::generateCompilationDiagnostics(), clang::driver::Driver::HandleImmediateArgs(), and clang::driver::Driver::PrintVersion().
|
inline |
Definition at line 89 of file Compilation.h.
Referenced by buildCudaActions(), CleanupFile(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::visualstudio::Linker::ConstructJob(), clang::driver::tools::Myriad::Linker::ConstructJob(), ExecuteCommand(), and getSysRoot().
|
inline |
Definition at line 131 of file Compilation.h.
Referenced by clang::driver::Driver::ExecuteCompilation().
|
inline |
Definition at line 104 of file Compilation.h.
Referenced by clang::driver::Driver::generateCompilationDiagnostics().
|
inline |
Definition at line 122 of file Compilation.h.
Referenced by clang::driver::Driver::ExecuteCompilation(), clang::driver::Driver::generateCompilationDiagnostics(), and clang::tooling::getCC1Arguments().
|
inline |
Definition at line 123 of file Compilation.h.
|
inline |
Definition at line 129 of file Compilation.h.
Referenced by clang::driver::Driver::ExecuteCompilation().
| StringRef Compilation::getSysRoot | ( | ) | const |
Returns the sysroot path.
Definition at line 232 of file Compilation.cpp.
References getDriver(), and clang::driver::Driver::SysRoot.
Referenced by clang::driver::Driver::HandleImmediateArgs().
|
inline |
Definition at line 127 of file Compilation.h.
Referenced by clang::driver::Driver::ExecuteCompilation(), and clang::driver::Driver::generateCompilationDiagnostics().
| void Compilation::initCompilationForDiagnostics | ( | ) |
initCompilationForDiagnostics - Remove stale state and suppress output so compilation can be reexecuted to generate additional diagnostic information (e.g., preprocessed source(s)).
Definition at line 202 of file Compilation.cpp.
References clang::driver::JobList::clear().
Referenced by clang::driver::Driver::generateCompilationDiagnostics().
|
inline |
Return true if we're compiling for diagnostics.
Definition at line 210 of file Compilation.h.
Referenced by clang::driver::tools::Clang::ConstructJob().
|
inline |
Creates a new Action owned by this Compilation.
The new Action is not added to the list returned by getActions().
Definition at line 116 of file Compilation.h.
Referenced by clang::driver::Driver::BuildActions(), buildCudaActions(), clang::driver::Driver::BuildUniversalActions(), and clang::driver::Driver::ConstructPhaseAction().
|
inline |
Definition at line 100 of file Compilation.h.
Referenced by clang::driver::Driver::BuildCompilation().
|
inline |
Definition at line 97 of file Compilation.h.
1.8.6