clang
3.9.0
|
This is a class to find a viable GCC installation for Clang to use. More...
#include <ToolChains.h>
Public Member Functions | |
GCCInstallationDetector (const Driver &D) | |
void | init (const llvm::Triple &TargetTriple, const llvm::opt::ArgList &Args, ArrayRef< std::string > ExtraTripleAliases=None) |
Initialize a GCCInstallationDetector from the driver. More... | |
bool | isValid () const |
Check whether we detected a valid GCC install. More... | |
const llvm::Triple & | getTriple () const |
Get the GCC triple for the detected install. More... | |
StringRef | getInstallPath () const |
Get the detected GCC installation path. More... | |
StringRef | getParentLibPath () const |
Get the detected GCC parent lib path. More... | |
const Multilib & | getMultilib () const |
Get the detected Multilib. More... | |
const MultilibSet & | getMultilibs () const |
Get the whole MultilibSet. More... | |
bool | getBiarchSibling (Multilib &M) const |
Get the biarch sibling multilib (if it exists). More... | |
const GCCVersion & | getVersion () const |
Get the detected GCC version string. More... | |
void | print (raw_ostream &OS) const |
Print information about the detected GCC installation. More... | |
This is a class to find a viable GCC installation for Clang to use.
This class tries to find a GCC installation on the system, and report information about it. It starts from the host information provided to the Driver, and has logic for fuzzing that where appropriate.
Definition at line 80 of file ToolChains.h.
|
inlineexplicit |
Definition at line 105 of file ToolChains.h.
Get the biarch sibling multilib (if it exists).
Definition at line 1463 of file ToolChains.cpp.
Referenced by clang::driver::toolchains::Linux::Linux().
|
inline |
Get the detected GCC installation path.
Definition at line 116 of file ToolChains.h.
Referenced by clang::driver::toolchains::Linux::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::Linux::AddClangSystemIncludeArgs(), clang::driver::toolchains::Linux::computeSysRoot(), clang::driver::toolchains::Linux::Linux(), clang::driver::toolchains::MyriadToolChain::MyriadToolChain(), and clang::driver::toolchains::Solaris::Solaris().
|
inline |
Get the detected Multilib.
Definition at line 122 of file ToolChains.h.
Referenced by clang::driver::toolchains::Linux::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::MyriadToolChain::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::Linux::AddClangSystemIncludeArgs(), clang::driver::toolchains::Linux::computeSysRoot(), and clang::driver::toolchains::Linux::Linux().
|
inline |
Get the whole MultilibSet.
Definition at line 125 of file ToolChains.h.
Referenced by clang::driver::toolchains::Linux::Linux().
|
inline |
Get the detected GCC parent lib path.
Definition at line 119 of file ToolChains.h.
Referenced by clang::driver::toolchains::Linux::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::MyriadToolChain::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::Linux::AddIAMCUIncludeArgs(), clang::driver::toolchains::Linux::Linux(), and clang::driver::toolchains::MyriadToolChain::MyriadToolChain().
|
inline |
Get the GCC triple for the detected install.
Definition at line 113 of file ToolChains.h.
Referenced by clang::driver::toolchains::Solaris::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::Linux::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::MyriadToolChain::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::Linux::AddIAMCUIncludeArgs(), clang::driver::toolchains::Linux::computeSysRoot(), and clang::driver::toolchains::Linux::Linux().
|
inline |
Get the detected GCC version string.
Definition at line 132 of file ToolChains.h.
Referenced by clang::driver::toolchains::Solaris::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::Linux::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::MyriadToolChain::AddClangCXXStdlibIncludeArgs(), and clang::driver::toolchains::Generic_ELF::addClangTargetOptions().
void Generic_GCC::GCCInstallationDetector::init | ( | const llvm::Triple & | TargetTriple, |
const llvm::opt::ArgList & | Args, | ||
ArrayRef< std::string > | ExtraTripleAliases = None |
||
) |
Initialize a GCCInstallationDetector from the driver.
This performs all of the autodetection and sets up the various paths. Once constructed, a GCCInstallationDetector is essentially immutable.
FIXME: We shouldn't need an explicit TargetTriple parameter here, and should instead pull the target out of the driver. This is currently necessary because the driver doesn't store the final version of the target triple.
Definition at line 1375 of file ToolChains.cpp.
References getGCCToolchainDir(), and clang::driver::toolchains::Generic_GCC::GCCVersion::Parse().
Referenced by clang::driver::toolchains::Linux::Linux(), clang::driver::toolchains::MyriadToolChain::MyriadToolChain(), and clang::driver::toolchains::Solaris::Solaris().
|
inline |
Check whether we detected a valid GCC install.
Definition at line 110 of file ToolChains.h.
Referenced by clang::driver::toolchains::Solaris::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::Linux::AddClangCXXStdlibIncludeArgs(), clang::driver::toolchains::Linux::AddClangSystemIncludeArgs(), clang::driver::toolchains::Linux::AddIAMCUIncludeArgs(), clang::driver::toolchains::Linux::computeSysRoot(), clang::driver::toolchains::Linux::Linux(), clang::driver::toolchains::MyriadToolChain::MyriadToolChain(), and clang::driver::toolchains::Solaris::Solaris().
void Generic_GCC::GCCInstallationDetector::print | ( | raw_ostream & | OS | ) | const |
Print information about the detected GCC installation.
Definition at line 1449 of file ToolChains.cpp.
References clang::driver::Multilib::isDefault(), and clang::driver::ToolChain::Multilibs.
Referenced by clang::driver::toolchains::Generic_GCC::printVerboseInfo().