clang  6.0.0svn
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 "/opt/doxygen-docs/src/llvm/tools/clang/lib/Driver/ToolChains/Gnu.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 MultilibgetMultilib () const
 Get the detected Multilib. More...
const MultilibSetgetMultilibs () const
 Get the whole MultilibSet. More...
bool getBiarchSibling (Multilib &M) const
 Get the biarch sibling multilib (if it exists). More...
const GCCVersiongetVersion () const
 Get the detected GCC version string. More...
void print (raw_ostream &OS) const
 Print information about the detected GCC installation. More...

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

Constructor & Destructor Documentation

◆ GCCInstallationDetector()

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

Definition at line 212 of file Gnu.h.

Member Function Documentation

◆ getBiarchSibling()

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

◆ getInstallPath()

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

◆ getMultilib()

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

◆ getMultilibs()

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

Get the whole MultilibSet.

Definition at line 232 of file Gnu.h.

References clang::driver::DetectedMultilibs::Multilibs.

Referenced by clang::driver::toolchains::Linux::Linux().

◆ getParentLibPath()

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

◆ getTriple()

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

◆ getVersion()

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

◆ init()

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 1587 of file Gnu.cpp.

References clang::vfs::FileSystem::exists(), getGCCToolchainDir(), clang::driver::Driver::getVFS(), clang::driver::Driver::InstalledDir, clang::driver::Driver::PrefixDirs, and clang::driver::Driver::SysRoot.

Referenced by clang::driver::toolchains::Linux::Linux(), clang::driver::toolchains::MyriadToolChain::MyriadToolChain(), and clang::driver::toolchains::Solaris::Solaris().

◆ isValid()

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

◆ print()

void Generic_GCC::GCCInstallationDetector::print ( raw_ostream &  OS) const

Print information about the detected GCC installation.

Definition at line 1679 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: