clang 20.0.0git
|
This is a class to find a viable GCC installation for Clang to use. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Driver/ToolChains/Gnu.h"
Public Member Functions | |
GCCInstallationDetector (const Driver &D) | |
void | init (const llvm::Triple &TargetTriple, const llvm::opt::ArgList &Args) |
Initialize a GCCInstallationDetector from the driver. | |
bool | isValid () const |
Check whether we detected a valid GCC install. | |
const llvm::Triple & | getTriple () const |
Get the GCC triple for the detected install. | |
StringRef | getInstallPath () const |
Get the detected GCC installation path. | |
StringRef | getParentLibPath () const |
Get the detected GCC parent lib path. | |
const Multilib & | getMultilib () const |
Get the detected Multilib. | |
const MultilibSet & | getMultilibs () const |
Get the whole MultilibSet. | |
bool | getBiarchSibling (Multilib &M) const |
Get the biarch sibling multilib (if it exists). | |
const GCCVersion & | getVersion () const |
Get the detected GCC version string. | |
void | print (raw_ostream &OS) const |
Print information about the detected GCC installation. | |
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.
|
inlineexplicit |
|
inline |
Get the detected GCC installation path.
Definition at line 230 of file Gnu.h.
Referenced by clang::driver::toolchains::Solaris::AddClangSystemIncludeArgs(), clang::driver::toolchains::Generic_GCC::addGCCLibStdCxxIncludePaths(), clang::driver::toolchains::Generic_GCC::AddMultilibIncludeArgs(), clang::driver::toolchains::Generic_GCC::AddMultilibPaths(), clang::driver::toolchains::AVRToolChain::AVRToolChain(), clang::driver::toolchains::Linux::computeSysRoot(), clang::driver::toolchains::CSKYToolChain::CSKYToolChain(), clang::driver::toolchains::Haiku::Haiku(), clang::driver::toolchains::MSP430ToolChain::MSP430ToolChain(), clang::driver::toolchains::RISCVToolChain::RISCVToolChain(), and clang::driver::toolchains::Solaris::Solaris().
|
inline |
Get the detected Multilib.
Definition at line 236 of file Gnu.h.
Referenced by clang::driver::toolchains::Solaris::AddClangSystemIncludeArgs(), clang::driver::toolchains::Generic_GCC::addGCCLibStdCxxIncludePaths(), clang::driver::toolchains::CSKYToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::Linux::addLibStdCxxIncludePaths(), clang::driver::toolchains::RISCVToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::Solaris::addLibStdCxxIncludePaths(), clang::driver::toolchains::Generic_GCC::AddMultiarchPaths(), clang::driver::toolchains::Generic_GCC::AddMultilibIncludeArgs(), clang::driver::toolchains::Linux::computeSysRoot(), clang::driver::toolchains::CSKYToolChain::CSKYToolChain(), clang::driver::toolchains::Hurd::Hurd(), clang::driver::toolchains::Linux::Linux(), clang::driver::toolchains::MSP430ToolChain::MSP430ToolChain(), clang::driver::toolchains::RISCVToolChain::RISCVToolChain(), and clang::driver::toolchains::Solaris::Solaris().
|
inline |
Get the whole MultilibSet.
Definition at line 239 of file Gnu.h.
Referenced by clang::driver::toolchains::CSKYToolChain::CSKYToolChain(), clang::driver::toolchains::Hurd::Hurd(), clang::driver::toolchains::Linux::Linux(), and clang::driver::toolchains::RISCVToolChain::RISCVToolChain().
|
inline |
Get the detected GCC parent lib path.
Definition at line 233 of file Gnu.h.
Referenced by clang::driver::toolchains::Generic_GCC::addGCCLibStdCxxIncludePaths(), clang::driver::toolchains::Linux::AddIAMCUIncludeArgs(), clang::driver::toolchains::Linux::addLibStdCxxIncludePaths(), clang::driver::toolchains::Solaris::addLibStdCxxIncludePaths(), clang::driver::toolchains::Generic_GCC::AddMultiarchPaths(), clang::driver::toolchains::Generic_GCC::AddMultilibIncludeArgs(), clang::driver::toolchains::Generic_GCC::AddMultilibPaths(), clang::driver::toolchains::AVRToolChain::AVRToolChain(), clang::driver::toolchains::CSKYToolChain::CSKYToolChain(), clang::driver::toolchains::AVRToolChain::findAVRLibcInstallation(), clang::driver::toolchains::Linux::Linux(), clang::driver::toolchains::MSP430ToolChain::MSP430ToolChain(), clang::driver::toolchains::Generic_GCC::PushPPaths(), clang::driver::toolchains::RISCVToolChain::RISCVToolChain(), and clang::driver::toolchains::Solaris::Solaris().
|
inline |
Get the GCC triple for the detected install.
Definition at line 227 of file Gnu.h.
Referenced by clang::driver::toolchains::Generic_GCC::addGCCLibStdCxxIncludePaths(), clang::driver::toolchains::Linux::AddIAMCUIncludeArgs(), clang::driver::toolchains::Generic_GCC::addLibStdCxxIncludePaths(), clang::driver::toolchains::CSKYToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::Hurd::addLibStdCxxIncludePaths(), clang::driver::toolchains::Linux::addLibStdCxxIncludePaths(), clang::driver::toolchains::RISCVToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::Solaris::addLibStdCxxIncludePaths(), clang::driver::toolchains::Generic_GCC::AddMultiarchPaths(), clang::driver::toolchains::Generic_GCC::AddMultilibIncludeArgs(), clang::driver::toolchains::Generic_GCC::AddMultilibPaths(), clang::driver::toolchains::Linux::computeSysRoot(), clang::driver::toolchains::CSKYToolChain::CSKYToolChain(), clang::driver::toolchains::Generic_GCC::PushPPaths(), and clang::driver::toolchains::RISCVToolChain::RISCVToolChain().
|
inline |
Get the detected GCC version string.
Definition at line 246 of file Gnu.h.
Referenced by clang::driver::toolchains::Generic_GCC::addGCCLibStdCxxIncludePaths(), clang::driver::toolchains::CSKYToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::Linux::addLibStdCxxIncludePaths(), clang::driver::toolchains::RISCVToolChain::addLibStdCxxIncludePaths(), clang::driver::toolchains::Solaris::addLibStdCxxIncludePaths(), and clang::driver::toolchains::Linux::IsAArch64OutlineAtomicsDefault().
void Generic_GCC::GCCInstallationDetector::init | ( | const llvm::Triple & | TargetTriple, |
const llvm::opt::ArgList & | Args | ||
) |
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 2219 of file Gnu.cpp.
References D, and getGCCToolchainDir().
Referenced by clang::driver::toolchains::AVRToolChain::AVRToolChain(), clang::driver::toolchains::CSKYToolChain::CSKYToolChain(), clang::driver::toolchains::Haiku::Haiku(), clang::driver::toolchains::Hurd::Hurd(), clang::driver::toolchains::Linux::Linux(), clang::driver::toolchains::MSP430ToolChain::MSP430ToolChain(), clang::driver::toolchains::RISCVToolChain::RISCVToolChain(), and clang::driver::toolchains::Solaris::Solaris().
|
inline |
Check whether we detected a valid GCC install.
Definition at line 224 of file Gnu.h.
Referenced by clang::driver::toolchains::Solaris::AddClangSystemIncludeArgs(), clang::driver::toolchains::Generic_GCC::addGCCLibStdCxxIncludePaths(), clang::driver::toolchains::Linux::AddIAMCUIncludeArgs(), clang::driver::toolchains::Generic_GCC::addLibStdCxxIncludePaths(), clang::driver::toolchains::Hurd::addLibStdCxxIncludePaths(), clang::driver::toolchains::Linux::addLibStdCxxIncludePaths(), clang::driver::toolchains::Solaris::addLibStdCxxIncludePaths(), clang::driver::toolchains::Generic_GCC::AddMultiarchPaths(), clang::driver::toolchains::Generic_GCC::AddMultilibIncludeArgs(), clang::driver::toolchains::Generic_GCC::AddMultilibPaths(), clang::driver::toolchains::AVRToolChain::AVRToolChain(), clang::driver::toolchains::Linux::computeSysRoot(), clang::driver::toolchains::CSKYToolChain::CSKYToolChain(), clang::driver::toolchains::CSKYToolChain::GetDefaultRuntimeLibType(), clang::driver::toolchains::RISCVToolChain::GetDefaultRuntimeLibType(), clang::driver::toolchains::Haiku::Haiku(), clang::driver::toolchains::MSP430ToolChain::MSP430ToolChain(), clang::driver::toolchains::Generic_GCC::PushPPaths(), clang::driver::toolchains::RISCVToolChain::RISCVToolChain(), 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 2358 of file Gnu.cpp.
References clang::driver::Multilib::isDefault().
Referenced by clang::driver::toolchains::Generic_GCC::printVerboseInfo().