clang  8.0.0svn
Functions
Gnu.cpp File Reference
#include "Gnu.h"
#include "Arch/ARM.h"
#include "Arch/Mips.h"
#include "Arch/PPC.h"
#include "Arch/RISCV.h"
#include "Arch/Sparc.h"
#include "Arch/SystemZ.h"
#include "CommonArgs.h"
#include "Linux.h"
#include "clang/Config/config.h"
#include "clang/Driver/Compilation.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/DriverDiagnostic.h"
#include "clang/Driver/Options.h"
#include "clang/Driver/Tool.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/CodeGen.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/TargetParser.h"
#include "llvm/Support/VirtualFileSystem.h"
#include <system_error>
Include dependency graph for Gnu.cpp:

Go to the source code of this file.

Functions

static bool forwardToGCC (const Option &O)
 
static void normalizeCPUNamesForAssembler (const ArgList &Args, ArgStringList &CmdArgs)
 
static bool isArmBigEndian (const llvm::Triple &Triple, const ArgList &Args)
 
static const char * getLDMOption (const llvm::Triple &T, const ArgList &Args)
 
static bool getPIE (const ArgList &Args, const toolchains::Linux &ToolChain)
 
static bool isSoftFloatABI (const ArgList &Args)
 
static void addMultilibFlag (bool Enabled, const char *const Flag, std::vector< std::string > &Flags)
 Flag must be a flag accepted by the driver with its leading '-' removed, More...
 
static bool isArmOrThumbArch (llvm::Triple::ArchType Arch)
 
static bool isMipsEL (llvm::Triple::ArchType Arch)
 
static bool isMips16 (const ArgList &Args)
 
static bool isMicroMips (const ArgList &Args)
 
static bool isRISCV (llvm::Triple::ArchType Arch)
 
static Multilib makeMultilib (StringRef commonSuffix)
 
static bool findMipsCsMultilibs (const Multilib::flags_list &Flags, FilterNonExistent &NonExistent, DetectedMultilibs &Result)
 
static bool findMipsAndroidMultilibs (llvm::vfs::FileSystem &VFS, StringRef Path, const Multilib::flags_list &Flags, FilterNonExistent &NonExistent, DetectedMultilibs &Result)
 
static bool findMipsMuslMultilibs (const Multilib::flags_list &Flags, FilterNonExistent &NonExistent, DetectedMultilibs &Result)
 
static bool findMipsMtiMultilibs (const Multilib::flags_list &Flags, FilterNonExistent &NonExistent, DetectedMultilibs &Result)
 
static bool findMipsImgMultilibs (const Multilib::flags_list &Flags, FilterNonExistent &NonExistent, DetectedMultilibs &Result)
 
static void findAndroidArmMultilibs (const Driver &D, const llvm::Triple &TargetTriple, StringRef Path, const ArgList &Args, DetectedMultilibs &Result)
 
static void findRISCVMultilibs (const Driver &D, const llvm::Triple &TargetTriple, StringRef Path, const ArgList &Args, DetectedMultilibs &Result)
 
static bool findBiarchMultilibs (const Driver &D, const llvm::Triple &TargetTriple, StringRef Path, const ArgList &Args, bool NeedsBiarchSuffix, DetectedMultilibs &Result)
 
static llvm::StringRef getGCCToolchainDir (const ArgList &Args, llvm::StringRef SysRoot)
 

Function Documentation

◆ addMultilibFlag()

static void addMultilibFlag ( bool  Enabled,
const char *const  Flag,
std::vector< std::string > &  Flags 
)
static

Flag must be a flag accepted by the driver with its leading '-' removed,

Definition at line 851 of file Gnu.cpp.

Referenced by findAndroidArmMultilibs(), findBiarchMultilibs(), findMipsImgMultilibs(), and findRISCVMultilibs().

◆ findAndroidArmMultilibs()

static void findAndroidArmMultilibs ( const Driver D,
const llvm::Triple &  TargetTriple,
StringRef  Path,
const ArgList &  Args,
DetectedMultilibs Result 
)
static

◆ findBiarchMultilibs()

static bool findBiarchMultilibs ( const Driver D,
const llvm::Triple &  TargetTriple,
StringRef  Path,
const ArgList &  Args,
bool  NeedsBiarchSuffix,
DetectedMultilibs Result 
)
static

◆ findMipsAndroidMultilibs()

static bool findMipsAndroidMultilibs ( llvm::vfs::FileSystem &  VFS,
StringRef  Path,
const Multilib::flags_list Flags,
FilterNonExistent &  NonExistent,
DetectedMultilibs Result 
)
static

◆ findMipsCsMultilibs()

static bool findMipsCsMultilibs ( const Multilib::flags_list Flags,
FilterNonExistent &  NonExistent,
DetectedMultilibs Result 
)
static

◆ findMipsImgMultilibs()

static bool findMipsImgMultilibs ( const Multilib::flags_list Flags,
FilterNonExistent &  NonExistent,
DetectedMultilibs Result 
)
static

◆ findMipsMtiMultilibs()

static bool findMipsMtiMultilibs ( const Multilib::flags_list Flags,
FilterNonExistent &  NonExistent,
DetectedMultilibs Result 
)
static

◆ findMipsMuslMultilibs()

static bool findMipsMuslMultilibs ( const Multilib::flags_list Flags,
FilterNonExistent &  NonExistent,
DetectedMultilibs Result 
)
static

◆ findRISCVMultilibs()

static void findRISCVMultilibs ( const Driver D,
const llvm::Triple &  TargetTriple,
StringRef  Path,
const ArgList &  Args,
DetectedMultilibs Result 
)
static

◆ forwardToGCC()

static bool forwardToGCC ( const Option &  O)
static

◆ getGCCToolchainDir()

static llvm::StringRef getGCCToolchainDir ( const ArgList &  Args,
llvm::StringRef  SysRoot 
)
static

◆ getLDMOption()

static const char* getLDMOption ( const llvm::Triple &  T,
const ArgList &  Args 
)
static

◆ getPIE()

static bool getPIE ( const ArgList &  Args,
const toolchains::Linux ToolChain 
)
static

◆ isArmBigEndian()

static bool isArmBigEndian ( const llvm::Triple &  Triple,
const ArgList &  Args 
)
static

◆ isArmOrThumbArch()

static bool isArmOrThumbArch ( llvm::Triple::ArchType  Arch)
static

◆ isMicroMips()

static bool isMicroMips ( const ArgList &  Args)
static

Definition at line 872 of file Gnu.cpp.

Referenced by findMipsImgMultilibs().

◆ isMips16()

static bool isMips16 ( const ArgList &  Args)
static

Definition at line 867 of file Gnu.cpp.

Referenced by findMipsImgMultilibs().

◆ isMipsEL()

static bool isMipsEL ( llvm::Triple::ArchType  Arch)
static

Definition at line 863 of file Gnu.cpp.

Referenced by findMipsImgMultilibs().

◆ isRISCV()

static bool isRISCV ( llvm::Triple::ArchType  Arch)
static

◆ isSoftFloatABI()

static bool isSoftFloatABI ( const ArgList &  Args)
static

Definition at line 838 of file Gnu.cpp.

Referenced by findMipsImgMultilibs().

◆ makeMultilib()

static Multilib makeMultilib ( StringRef  commonSuffix)
static

◆ normalizeCPUNamesForAssembler()

static void normalizeCPUNamesForAssembler ( const ArgList &  Args,
ArgStringList &  CmdArgs 
)
static

Definition at line 49 of file Gnu.cpp.

Referenced by clang::driver::tools::gnutools::Assembler::ConstructJob().