clang API Documentation
Tool - Information on a specific compilation tool. More...
#include <Tool.h>

Public Member Functions | |
| Tool (const char *Name, const char *ShortName, const ToolChain &TC) | |
| virtual | ~Tool () |
| const char * | getName () const |
| const char * | getShortName () const |
| const ToolChain & | getToolChain () const |
| virtual bool | hasIntegratedAssembler () const |
| virtual bool | hasIntegratedCPP () const =0 |
| virtual bool | isLinkJob () const |
| virtual bool | hasGoodDiagnostics () const |
| Does this tool have "good" standardized diagnostics, or should the driver add an additional "command failed" diagnostic on failures. | |
| virtual void | ConstructJob (Compilation &C, const JobAction &JA, const InputInfo &Output, const InputInfoList &Inputs, const ArgList &TCArgs, const char *LinkingOutput) const =0 |
| Tool::Tool | ( | const char * | Name, |
| const char * | ShortName, | ||
| const ToolChain & | TC | ||
| ) |
| virtual void clang::driver::Tool::ConstructJob | ( | Compilation & | C, |
| const JobAction & | JA, | ||
| const InputInfo & | Output, | ||
| const InputInfoList & | Inputs, | ||
| const ArgList & | TCArgs, | ||
| const char * | LinkingOutput | ||
| ) | const [pure virtual] |
ConstructJob - Construct jobs to perform the action
| TCArgs | - The argument list for this toolchain, with any tool chain specific translations applied. |
| LinkingOutput | - If this output will eventually feed the linker, then this is the final output name of the linked image. |
Implemented in clang::driver::tools::visualstudio::Link, clang::driver::tools::dragonfly::Link, clang::driver::tools::dragonfly::Assemble, clang::driver::tools::auroraux::Link, clang::driver::tools::auroraux::Assemble, clang::driver::tools::solaris::Link, clang::driver::tools::solaris::Assemble, clang::driver::tools::minix::Link, clang::driver::tools::minix::Assemble, clang::driver::tools::linuxtools::Link, clang::driver::tools::linuxtools::Assemble, clang::driver::tools::netbsd::Link, clang::driver::tools::netbsd::Assemble, clang::driver::tools::freebsd::Link, clang::driver::tools::freebsd::Assemble, clang::driver::tools::openbsd::Link, clang::driver::tools::openbsd::Assemble, clang::driver::tools::darwin::VerifyDebug, clang::driver::tools::darwin::Dsymutil, clang::driver::tools::darwin::Lipo, clang::driver::tools::darwin::Link, clang::driver::tools::darwin::Assemble, clang::driver::tools::darwin::Compile, clang::driver::tools::darwin::Preprocess, clang::driver::tools::hexagon::Link, clang::driver::tools::hexagon::Assemble, clang::driver::tools::gcc::Common, clang::driver::tools::ClangAs, and clang::driver::tools::Clang.
| const char* clang::driver::Tool::getShortName | ( | ) | const [inline] |
Definition at line 46 of file Tool.h.
Referenced by clang::driver::Driver::ExecuteCompilation().
| const ToolChain& clang::driver::Tool::getToolChain | ( | ) | const [inline] |
| virtual bool clang::driver::Tool::hasGoodDiagnostics | ( | ) | const [inline, virtual] |
Does this tool have "good" standardized diagnostics, or should the driver add an additional "command failed" diagnostic on failures.
Reimplemented in clang::driver::tools::darwin::CC1, clang::driver::tools::gcc::Compile, clang::driver::tools::gcc::Precompile, clang::driver::tools::gcc::Preprocess, clang::driver::tools::ClangAs, and clang::driver::tools::Clang.
Definition at line 56 of file Tool.h.
Referenced by clang::driver::Driver::ExecuteCompilation().
| virtual bool clang::driver::Tool::hasIntegratedAssembler | ( | ) | const [inline, virtual] |
Reimplemented in clang::driver::tools::ClangAs, and clang::driver::tools::Clang.
Definition at line 50 of file Tool.h.
Referenced by SelectToolForJob().
| virtual bool clang::driver::Tool::hasIntegratedCPP | ( | ) | const [pure virtual] |
Implemented in clang::driver::tools::visualstudio::Link, clang::driver::tools::dragonfly::Link, clang::driver::tools::dragonfly::Assemble, clang::driver::tools::auroraux::Link, clang::driver::tools::auroraux::Assemble, clang::driver::tools::solaris::Link, clang::driver::tools::solaris::Assemble, clang::driver::tools::minix::Link, clang::driver::tools::minix::Assemble, clang::driver::tools::linuxtools::Link, clang::driver::tools::linuxtools::Assemble, clang::driver::tools::netbsd::Link, clang::driver::tools::netbsd::Assemble, clang::driver::tools::freebsd::Link, clang::driver::tools::freebsd::Assemble, clang::driver::tools::openbsd::Link, clang::driver::tools::openbsd::Assemble, clang::driver::tools::darwin::VerifyDebug, clang::driver::tools::darwin::Dsymutil, clang::driver::tools::darwin::Lipo, clang::driver::tools::darwin::Link, clang::driver::tools::darwin::Assemble, clang::driver::tools::darwin::CC1, clang::driver::tools::hexagon::Link, clang::driver::tools::hexagon::Assemble, clang::driver::tools::gcc::Link, clang::driver::tools::gcc::Assemble, clang::driver::tools::gcc::Compile, clang::driver::tools::gcc::Precompile, clang::driver::tools::gcc::Preprocess, clang::driver::tools::ClangAs, and clang::driver::tools::Clang.
Referenced by SelectToolForJob().
| virtual bool clang::driver::Tool::isLinkJob | ( | ) | const [inline, virtual] |
Reimplemented in clang::driver::tools::visualstudio::Link, clang::driver::tools::dragonfly::Link, clang::driver::tools::auroraux::Link, clang::driver::tools::solaris::Link, clang::driver::tools::minix::Link, clang::driver::tools::linuxtools::Link, clang::driver::tools::netbsd::Link, clang::driver::tools::freebsd::Link, clang::driver::tools::openbsd::Link, clang::driver::tools::darwin::Link, clang::driver::tools::hexagon::Link, and clang::driver::tools::gcc::Link.
Definition at line 52 of file Tool.h.
Referenced by clang::driver::Driver::generateCompilationDiagnostics().