clang 20.0.0git
Macros | Functions
ToolChain.cpp File Reference
#include "clang/Driver/ToolChain.h"
#include "ToolChains/Arch/AArch64.h"
#include "ToolChains/Arch/ARM.h"
#include "ToolChains/Arch/RISCV.h"
#include "ToolChains/Clang.h"
#include "ToolChains/CommonArgs.h"
#include "ToolChains/Flang.h"
#include "ToolChains/InterfaceStubs.h"
#include "clang/Basic/ObjCRuntime.h"
#include "clang/Basic/Sanitizers.h"
#include "clang/Config/config.h"
#include "clang/Driver/Action.h"
#include "clang/Driver/Driver.h"
#include "clang/Driver/InputInfo.h"
#include "clang/Driver/Job.h"
#include "clang/Driver/Options.h"
#include "clang/Driver/SanitizerArgs.h"
#include "clang/Driver/XRayArgs.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/Config/llvm-config.h"
#include "llvm/MC/MCTargetOptions.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Option/Arg.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Option/OptTable.h"
#include "llvm/Option/Option.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/FileUtilities.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/Process.h"
#include "llvm/Support/VersionTuple.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/TargetParser/AArch64TargetParser.h"
#include "llvm/TargetParser/RISCVISAInfo.h"
#include "llvm/TargetParser/TargetParser.h"
#include "llvm/TargetParser/Triple.h"
#include <cassert>
#include <cstddef>
#include <cstring>
#include <string>
#include "llvm/TargetParser/ARMTargetParser.def"

Go to the source code of this file.

Macros

#define ARM_FPU(NAME, KIND, VERSION, NEON_SUPPORT, RESTRICTION)
 

Functions

static llvm::opt::Arg * GetRTTIArgument (const ArgList &Args)
 
static ToolChain::RTTIMode CalculateRTTIMode (const ArgList &Args, const llvm::Triple &Triple, const Arg *CachedRTTIArg)
 
static ToolChain::ExceptionsMode CalculateExceptionsMode (const ArgList &Args)
 
static void getAArch64MultilibFlags (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args, Multilib::flags_list &Result)
 
static void getARMMultilibFlags (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args, Multilib::flags_list &Result)
 
static void getRISCVMultilibFlags (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args, Multilib::flags_list &Result)
 
static const DriverSuffix * FindDriverSuffix (StringRef ProgName, size_t &Pos)
 
static std::string normalizeProgramName (llvm::StringRef Argv0)
 Normalize the program name from argv[0] by stripping the file extension if present and lower-casing the string on Windows.
 
static const DriverSuffix * parseDriverSuffix (StringRef ProgName, size_t &Pos)
 
static StringRef getArchNameForCompilerRTLib (const ToolChain &TC, const ArgList &Args)
 
static VersionTuple separateMSVCFullVersion (unsigned Version)
 

Macro Definition Documentation

◆ ARM_FPU

#define ARM_FPU (   NAME,
  KIND,
  VERSION,
  NEON_SUPPORT,
  RESTRICTION 
)
Value:
case llvm::ARM::KIND: \
Result.push_back("-mfpu=" NAME); \
break;

Function Documentation

◆ CalculateExceptionsMode()

static ToolChain::ExceptionsMode CalculateExceptionsMode ( const ArgList &  Args)
static

◆ CalculateRTTIMode()

static ToolChain::RTTIMode CalculateRTTIMode ( const ArgList &  Args,
const llvm::Triple &  Triple,
const Arg *  CachedRTTIArg 
)
static

◆ FindDriverSuffix()

static const DriverSuffix * FindDriverSuffix ( StringRef  ProgName,
size_t Pos 
)
static

Definition at line 399 of file ToolChain.cpp.

Referenced by parseDriverSuffix().

◆ getAArch64MultilibFlags()

static void getAArch64MultilibFlags ( const Driver D,
const llvm::Triple &  Triple,
const llvm::opt::ArgList &  Args,
Multilib::flags_list Result 
)
static

◆ getArchNameForCompilerRTLib()

static StringRef getArchNameForCompilerRTLib ( const ToolChain TC,
const ArgList &  Args 
)
static

◆ getARMMultilibFlags()

static void getARMMultilibFlags ( const Driver D,
const llvm::Triple &  Triple,
const llvm::opt::ArgList &  Args,
Multilib::flags_list Result 
)
static

◆ getRISCVMultilibFlags()

static void getRISCVMultilibFlags ( const Driver D,
const llvm::Triple &  Triple,
const llvm::opt::ArgList &  Args,
Multilib::flags_list Result 
)
static

◆ GetRTTIArgument()

static llvm::opt::Arg * GetRTTIArgument ( const ArgList &  Args)
static

Definition at line 60 of file ToolChain.cpp.

◆ normalizeProgramName()

static std::string normalizeProgramName ( llvm::StringRef  Argv0)
static

Normalize the program name from argv[0] by stripping the file extension if present and lower-casing the string on Windows.

Definition at line 435 of file ToolChain.cpp.

Referenced by clang::driver::ToolChain::getTargetAndModeFromProgramName().

◆ parseDriverSuffix()

static const DriverSuffix * parseDriverSuffix ( StringRef  ProgName,
size_t Pos 
)
static

◆ separateMSVCFullVersion()

static VersionTuple separateMSVCFullVersion ( unsigned  Version)
static

Definition at line 1496 of file ToolChain.cpp.

Referenced by clang::driver::ToolChain::computeMSVCVersion().