clang API Documentation
#include <ToolChains.h>
Public Member Functions | |
Linux (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
bool | HasNativeLLVMSupport () const override |
void | AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
Add the clang cc1 arguments for system include paths. | |
void | AddClangCXXStdlibIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
bool | isPIEDefault () const override |
Test whether this toolchain defaults to PIE. | |
Public Attributes | |
std::string | Linker |
std::vector< std::string > | ExtraOpts |
Protected Member Functions | |
Tool * | buildAssembler () const override |
Tool * | buildLinker () const override |
Definition at line 657 of file ToolChains.h.
Linux::Linux | ( | const Driver & | D, |
const llvm::Triple & | Triple, | ||
const llvm::opt::ArgList & | Args | ||
) |
Definition at line 2911 of file ToolChains.cpp.
References addPathIfExists(), DebianJessie, DebianSqueeze, DebianWheezy, DetectDistro(), clang::driver::Driver::Dir, ExtraOpts, clang::driver::toolchains::Generic_GCC::GCCInstallation, clang::driver::Multilib::gccSuffix(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getBiarchSibling(), clang::driver::ToolChain::getFilePaths(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getInstallPath(), clang::driver::ToolChain::GetLinkerPath(), getMultiarchTriple(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getMultilib(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getMultilibs(), getOSLibDir(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getParentLibPath(), clang::driver::ToolChain::getProgramPaths(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getTriple(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::init(), IsDebian(), isMipsArch(), IsOpenSUSE(), IsRedhat(), IsUbuntu(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::isValid(), Linker, clang::driver::ToolChain::Multilibs, clang::driver::Multilib::osSuffix(), RHEL4, RHEL5, UbuntuJaunty, UbuntuKarmic, UbuntuLucid, and UbuntuMaverick.
void Linux::AddClangCXXStdlibIncludeArgs | ( | const llvm::opt::ArgList & | DriverArgs, |
llvm::opt::ArgStringList & | CC1Args | ||
) | const [override, virtual] |
AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set the include paths to use for the given C++ standard library type.
Reimplemented from clang::driver::ToolChain.
Reimplemented in clang::driver::toolchains::Hexagon_TC.
Definition at line 3308 of file ToolChains.cpp.
References clang::driver::ToolChain::addSystemInclude(), clang::driver::ToolChain::CST_Libcxx, clang::driver::Driver::Dir, clang::driver::toolchains::Generic_GCC::GCCInstallation, clang::driver::ToolChain::GetCXXStdlibType(), clang::driver::ToolChain::getDriver(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getInstallPath(), getMultiarchTriple(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getMultilib(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getParentLibPath(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getTriple(), clang::driver::ToolChain::getTriple(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getVersion(), clang::driver::Multilib::includeSuffix(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::isValid(), clang::driver::toolchains::Generic_GCC::GCCVersion::MajorStr, clang::driver::toolchains::Generic_GCC::GCCVersion::MinorStr, clang::driver::Driver::SysRoot, and clang::driver::toolchains::Generic_GCC::GCCVersion::Text.
void Linux::AddClangSystemIncludeArgs | ( | const llvm::opt::ArgList & | DriverArgs, |
llvm::opt::ArgStringList & | CC1Args | ||
) | const [override, virtual] |
Add the clang cc1 arguments for system include paths.
This routine is responsible for adding the necessary cc1 arguments to include headers from standard system header directories.
Reimplemented from clang::driver::ToolChain.
Reimplemented in clang::driver::toolchains::Hexagon_TC.
Definition at line 3129 of file ToolChains.cpp.
References clang::driver::ToolChain::addExternCSystemInclude(), clang::driver::ToolChain::addExternCSystemIncludeIfExists(), clang::driver::ToolChain::addSystemInclude(), C_INCLUDE_DIRS, Callback, clang::driver::toolchains::Generic_GCC::GCCInstallation, clang::driver::ToolChain::getArch(), clang::driver::ToolChain::getDriver(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getInstallPath(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getMultilib(), clang::driver::ToolChain::getOS(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getTriple(), clang::driver::ToolChain::getTriple(), clang::driver::MultilibSet::includeDirsCallback(), clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::isValid(), clang::driver::ToolChain::Multilibs, P, and clang::driver::Driver::ResourceDir.
Tool * Linux::buildAssembler | ( | ) | const [override, protected, virtual] |
Reimplemented from clang::driver::toolchains::Generic_GCC.
Reimplemented in clang::driver::toolchains::Hexagon_TC.
Definition at line 3096 of file ToolChains.cpp.
Tool * Linux::buildLinker | ( | ) | const [override, protected, virtual] |
Reimplemented from clang::driver::toolchains::Generic_GCC.
Reimplemented in clang::driver::toolchains::Hexagon_TC.
Definition at line 3092 of file ToolChains.cpp.
bool Linux::HasNativeLLVMSupport | ( | ) | const [override, virtual] |
HasNativeLTOLinker - Check whether the linker and related tools have native LLVM support.
Reimplemented from clang::driver::ToolChain.
Definition at line 3088 of file ToolChains.cpp.
bool Linux::isPIEDefault | ( | ) | const [override, virtual] |
Test whether this toolchain defaults to PIE.
Reimplemented from clang::driver::toolchains::Generic_GCC.
Definition at line 3385 of file ToolChains.cpp.
References clang::driver::ToolChain::getSanitizerArgs(), and clang::driver::SanitizerArgs::hasZeroBaseShadow().
Referenced by clang::driver::tools::gnutools::Link::ConstructJob().
std::vector<std::string> clang::driver::toolchains::Linux::ExtraOpts |
Definition at line 673 of file ToolChains.h.
Referenced by clang::driver::tools::hexagon::Link::ConstructJob(), clang::driver::tools::gnutools::Link::ConstructJob(), and Linux().
std::string clang::driver::toolchains::Linux::Linker |
Definition at line 672 of file ToolChains.h.
Referenced by clang::driver::tools::gnutools::Link::ConstructJob(), and Linux().