clang 20.0.0git
Public Member Functions | List of all members
clang::driver::toolchains::Generic_GCC::GCCInstallationDetector Class Reference

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 MultilibgetMultilib () const
 Get the detected Multilib.
 
const MultilibSetgetMultilibs () const
 Get the whole MultilibSet.
 
bool getBiarchSibling (Multilib &M) const
 Get the biarch sibling multilib (if it exists).
 
const GCCVersiongetVersion () const
 Get the detected GCC version string.
 
void print (raw_ostream &OS) const
 Print information about the detected GCC installation.
 

Detailed Description

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 192 of file Gnu.h.

Constructor & Destructor Documentation

◆ GCCInstallationDetector()

clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::GCCInstallationDetector ( const Driver D)
inlineexplicit

Definition at line 220 of file Gnu.h.

Member Function Documentation

◆ getBiarchSibling()

bool Generic_GCC::GCCInstallationDetector::getBiarchSibling ( Multilib M) const

Get the biarch sibling multilib (if it exists).

Returns
true iff such a sibling exists

Definition at line 2372 of file Gnu.cpp.

◆ getInstallPath()

StringRef clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getInstallPath ( ) const
inline

◆ getMultilib()

const Multilib & clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getMultilib ( ) const
inline

◆ getMultilibs()

const MultilibSet & clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getMultilibs ( ) const
inline

◆ getParentLibPath()

StringRef clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getParentLibPath ( ) const
inline

◆ getTriple()

const llvm::Triple & clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getTriple ( ) const
inline

◆ getVersion()

const GCCVersion & clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::getVersion ( ) const
inline

◆ init()

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().

◆ isValid()

bool clang::driver::toolchains::Generic_GCC::GCCInstallationDetector::isValid ( ) const
inline

◆ print()

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().


The documentation for this class was generated from the following files: