clang API Documentation
#include <Compilation.h>
Public Member Functions | |
| Compilation (const Driver &D, const ToolChain &DefaultToolChain, InputArgList *Args, DerivedArgList *TranslatedArgs) | |
| ~Compilation () | |
| const Driver & | getDriver () const |
| const ToolChain & | getDefaultToolChain () const |
| const InputArgList & | getInputArgs () const |
| const DerivedArgList & | getArgs () const |
| ActionList & | getActions () |
| const ActionList & | getActions () const |
| JobList & | getJobs () |
| const JobList & | getJobs () const |
| void | addCommand (Command *C) |
| const ArgStringList & | getTempFiles () const |
| const ArgStringList & | getResultFiles () const |
| const ArgStringList & | getFailureResultFiles () const |
| StringRef | getSysRoot () const |
| Returns the sysroot path. | |
| const DerivedArgList & | getArgsForToolChain (const ToolChain *TC, const char *BoundArch) |
| const char * | addTempFile (const char *Name) |
| const char * | addResultFile (const char *Name) |
| const char * | addFailureResultFile (const char *Name) |
| bool | CleanupFileList (const ArgStringList &Files, bool IssueErrors=false) const |
| void | PrintJob (raw_ostream &OS, const Job &J, const char *Terminator, bool Quote) const |
| int | ExecuteCommand (const Command &C, const Command *&FailingCommand) const |
| int | ExecuteJob (const Job &J, const Command *&FailingCommand) const |
| void | initCompilationForDiagnostics () |
Compilation - A set of tasks to perform for a single driver invocation.
Definition at line 28 of file Compilation.h.
| Compilation::Compilation | ( | const Driver & | D, |
| const ToolChain & | DefaultToolChain, | ||
| InputArgList * | Args, | ||
| DerivedArgList * | TranslatedArgs | ||
| ) |
Definition at line 28 of file Compilation.cpp.
| Compilation::~Compilation | ( | ) |
Definition at line 34 of file Compilation.cpp.
| void clang::driver::Compilation::addCommand | ( | Command * | C | ) | [inline] |
Definition at line 85 of file Compilation.h.
References clang::driver::JobList::addJob().
Referenced by clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::ClangAs::ConstructJob(), clang::driver::tools::gcc::Common::ConstructJob(), clang::driver::tools::hexagon::Assemble::ConstructJob(), clang::driver::tools::hexagon::Link::ConstructJob(), clang::driver::tools::darwin::Preprocess::ConstructJob(), clang::driver::tools::darwin::Compile::ConstructJob(), clang::driver::tools::darwin::Assemble::ConstructJob(), clang::driver::tools::darwin::Link::ConstructJob(), clang::driver::tools::darwin::Lipo::ConstructJob(), clang::driver::tools::darwin::Dsymutil::ConstructJob(), clang::driver::tools::darwin::VerifyDebug::ConstructJob(), clang::driver::tools::openbsd::Assemble::ConstructJob(), clang::driver::tools::openbsd::Link::ConstructJob(), clang::driver::tools::freebsd::Assemble::ConstructJob(), clang::driver::tools::freebsd::Link::ConstructJob(), clang::driver::tools::netbsd::Assemble::ConstructJob(), clang::driver::tools::netbsd::Link::ConstructJob(), clang::driver::tools::linuxtools::Assemble::ConstructJob(), clang::driver::tools::linuxtools::Link::ConstructJob(), clang::driver::tools::minix::Assemble::ConstructJob(), clang::driver::tools::minix::Link::ConstructJob(), clang::driver::tools::solaris::Assemble::ConstructJob(), clang::driver::tools::solaris::Link::ConstructJob(), clang::driver::tools::auroraux::Assemble::ConstructJob(), clang::driver::tools::auroraux::Link::ConstructJob(), clang::driver::tools::dragonfly::Assemble::ConstructJob(), clang::driver::tools::dragonfly::Link::ConstructJob(), and clang::driver::tools::visualstudio::Link::ConstructJob().
| const char* clang::driver::Compilation::addFailureResultFile | ( | const char * | Name | ) | [inline] |
addFailureResultFile - Add a file to remove if we crash, and returns its argument.
Definition at line 122 of file Compilation.h.
| const char* clang::driver::Compilation::addResultFile | ( | const char * | Name | ) | [inline] |
addResultFile - Add a file to remove on failure, and returns its argument.
Definition at line 115 of file Compilation.h.
Referenced by clang::driver::Driver::GetNamedOutputPath().
| const char* clang::driver::Compilation::addTempFile | ( | const char * | Name | ) | [inline] |
addTempFile - Add a file to remove on exit, and returns its argument.
Definition at line 108 of file Compilation.h.
Referenced by clang::driver::tools::darwin::Compile::ConstructJob(), and clang::driver::Driver::GetNamedOutputPath().
| bool Compilation::CleanupFileList | ( | const ArgStringList & | Files, |
| bool | IssueErrors = false |
||
| ) | const |
CleanupFileList - Remove the files in the given list.
| IssueErrors | - Report failures as errors. |
Definition at line 104 of file Compilation.cpp.
References clang::driver::Driver::Diag(), getDriver(), and P.
Referenced by clang::driver::Driver::ExecuteCompilation(), and clang::driver::Driver::generateCompilationDiagnostics().
ExecuteCommand - Execute an actual command.
| FailingCommand | - For non-zero results, this will be set to the Command which failed, if any. |
Definition at line 140 of file Compilation.cpp.
References clang::driver::Driver::Diag(), getArgs(), clang::driver::Command::getArguments(), getDriver(), clang::driver::Command::getExecutable(), and PrintJob().
Referenced by ExecuteJob().
ExecuteJob - Execute a single job.
| FailingCommand | - For non-zero results, this will be set to the Command which failed. |
Definition at line 195 of file Compilation.cpp.
References clang::driver::JobList::begin(), clang::driver::JobList::end(), and ExecuteCommand().
Referenced by clang::driver::Driver::ExecuteCompilation(), and clang::driver::Driver::generateCompilationDiagnostics().
| ActionList& clang::driver::Compilation::getActions | ( | ) | [inline] |
Definition at line 79 of file Compilation.h.
Referenced by clang::driver::Driver::BuildCompilation(), clang::driver::Driver::BuildJobs(), clang::driver::Driver::generateCompilationDiagnostics(), clang::driver::Driver::PrintActions(), and UseRelaxAll().
| const ActionList& clang::driver::Compilation::getActions | ( | ) | const [inline] |
Definition at line 80 of file Compilation.h.
| const DerivedArgList& clang::driver::Compilation::getArgs | ( | ) | const [inline] |
Definition at line 77 of file Compilation.h.
Referenced by clang::driver::Driver::BuildCompilation(), clang::driver::Driver::BuildJobs(), clang::driver::Driver::BuildJobsForAction(), clang::driver::tools::Clang::ConstructJob(), clang::driver::tools::darwin::Compile::ConstructJob(), ExecuteCommand(), clang::driver::Driver::ExecuteCompilation(), clang::driver::Driver::generateCompilationDiagnostics(), clang::driver::Driver::GetNamedOutputPath(), clang::driver::Driver::HandleImmediateArgs(), PrintActions1(), clang::driver::toolchains::Darwin::SelectTool(), clang::driver::toolchains::OpenBSD::SelectTool(), clang::driver::toolchains::FreeBSD::SelectTool(), clang::driver::toolchains::NetBSD::SelectTool(), clang::driver::toolchains::Linux::SelectTool(), clang::driver::toolchains::Windows::SelectTool(), and SelectToolForJob().
| const DerivedArgList & Compilation::getArgsForToolChain | ( | const ToolChain * | TC, |
| const char * | BoundArch | ||
| ) |
getArgsForToolChain - Return the derived argument list for the tool chain
| BoundArch | - The bound architecture name, or 0. |
Definition at line 58 of file Compilation.cpp.
References clang::driver::ToolChain::TranslateArgs().
Referenced by clang::driver::Driver::BuildJobsForAction().
| const ToolChain& clang::driver::Compilation::getDefaultToolChain | ( | ) | const [inline] |
Definition at line 73 of file Compilation.h.
Referenced by clang::driver::Driver::BuildCompilation(), clang::driver::Driver::BuildJobs(), clang::driver::Driver::BuildJobsForAction(), clang::driver::Driver::generateCompilationDiagnostics(), clang::driver::Driver::HandleImmediateArgs(), and clang::driver::Driver::PrintVersion().
| const Driver& clang::driver::Compilation::getDriver | ( | ) | const [inline] |
Definition at line 71 of file Compilation.h.
Referenced by CleanupFileList(), clang::driver::tools::hexagon::Link::ConstructJob(), ExecuteCommand(), and getSysRoot().
| const ArgStringList& clang::driver::Compilation::getFailureResultFiles | ( | ) | const [inline] |
Definition at line 91 of file Compilation.h.
Referenced by clang::driver::Driver::ExecuteCompilation().
| const InputArgList& clang::driver::Compilation::getInputArgs | ( | ) | const [inline] |
Definition at line 75 of file Compilation.h.
Referenced by clang::driver::Driver::BuildCompilation().
| JobList& clang::driver::Compilation::getJobs | ( | ) | [inline] |
Definition at line 82 of file Compilation.h.
Referenced by clang::driver::Driver::ExecuteCompilation(), clang::driver::Driver::generateCompilationDiagnostics(), and clang::tooling::getCC1Arguments().
| const JobList& clang::driver::Compilation::getJobs | ( | ) | const [inline] |
Definition at line 83 of file Compilation.h.
| const ArgStringList& clang::driver::Compilation::getResultFiles | ( | ) | const [inline] |
Definition at line 89 of file Compilation.h.
Referenced by clang::driver::Driver::ExecuteCompilation().
| StringRef Compilation::getSysRoot | ( | void | ) | const |
Returns the sysroot path.
Definition at line 234 of file Compilation.cpp.
References getDriver(), and clang::driver::Driver::SysRoot.
Referenced by clang::driver::Driver::HandleImmediateArgs().
| const ArgStringList& clang::driver::Compilation::getTempFiles | ( | ) | const [inline] |
Definition at line 87 of file Compilation.h.
Referenced by clang::driver::Driver::ExecuteCompilation(), and clang::driver::Driver::generateCompilationDiagnostics().
| void Compilation::initCompilationForDiagnostics | ( | void | ) |
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 209 of file Compilation.cpp.
References clang::driver::ArgList::ClaimAllArgs(), clang::driver::JobList::clear(), clang::driver::ArgList::eraseArg(), and clang::driver::ArgList::hasArg().
Referenced by clang::driver::Driver::generateCompilationDiagnostics().
| void Compilation::PrintJob | ( | raw_ostream & | OS, |
| const Job & | J, | ||
| const char * | Terminator, | ||
| bool | Quote | ||
| ) | const |
PrintJob - Print one job in -### format.
| OS | - The stream to print on. |
| J | - The job to print. |
| Terminator | - A string to print at the end of the line. |
| Quote | - Should separate arguments be quoted. |
Definition at line 73 of file Compilation.cpp.
References clang::driver::JobList::begin(), and clang::driver::JobList::end().
Referenced by ExecuteCommand(), clang::driver::Driver::ExecuteCompilation(), clang::driver::Driver::generateCompilationDiagnostics(), and clang::tooling::getCC1Arguments().