clang 22.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 GCCInstallCandidate & | getSelectedInstallation () const |
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. |
Public Attributes | |
std::function< StringRef(const llvm::Triple &)> | TripleToDebianMultiarch |
Function for converting a triple to a Debian multiarch. |
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 |
|
inline |
|
inline |
Get the whole MultilibSet.
|
inline |
|
inline |
|
inline |
|
inline |
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 2083 of file Gnu.cpp.
References clang::driver::ToolChain::concat(), getGCCToolchainDir(), and clang::driver::toolchains::Generic_GCC::GCCVersion::Parse().
|
inline |
void Generic_GCC::GCCInstallationDetector::print | ( | raw_ostream & | OS | ) | const |
std::function<StringRef(const llvm::Triple &)> clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::TripleToDebianMultiarch |