clang 22.0.0git
|
Darwin - The base Darwin tool chain. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Driver/ToolChains/Darwin.h"
Public Types | |
enum | DarwinPlatformKind { MacOS , IPhoneOS , TvOS , WatchOS , DriverKit , XROS , LastDarwinPlatform = XROS } |
enum | DarwinEnvironmentKind { NativeEnvironment , Simulator , MacCatalyst } |
Public Types inherited from clang::driver::toolchains::MachO | |
enum | RuntimeLinkOptions : unsigned { RLO_AlwaysLink = 1 << 0 , RLO_IsEmbedded = 1 << 1 , RLO_AddRPath = 1 << 2 } |
Options to control how a runtime library is linked. More... | |
Public Types inherited from clang::driver::ToolChain | |
enum | CXXStdlibType { CST_Libcxx , CST_Libstdcxx } |
enum | RuntimeLibType { RLT_CompilerRT , RLT_Libgcc } |
enum | UnwindLibType { UNW_None , UNW_CompilerRT , UNW_Libgcc } |
enum class | UnwindTableLevel { None , Synchronous , Asynchronous } |
enum | RTTIMode { RM_Enabled , RM_Disabled } |
enum | ExceptionsMode { EM_Enabled , EM_Disabled } |
enum | FileType { FT_Object , FT_Static , FT_Shared } |
using | path_list = SmallVector<std::string, 16> |
Public Member Functions | |
Darwin (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
Darwin - Darwin tool chain for i386 and x86_64. | |
~Darwin () override | |
std::string | ComputeEffectiveClangTriple (const llvm::opt::ArgList &Args, types::ID InputType) const override |
ComputeEffectiveClangTriple - Return the Clang triple to use for this target, which may take into account the command line arguments. | |
Darwin Specific Toolchain Implementation | |
{ | |
void | addMinVersionArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override |
void | addPlatformVersionArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override |
void | addStartObjectFileArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override |
bool | isKernelStatic () const override |
On some iOS platforms, kernel and kernel modules were built statically. | |
void | addProfileRTLibs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override |
addProfileRTLibs - When -fprofile-instr-profile is specified, try to pass a suitable profile runtime library to the linker. | |
std::string | getCompilerRT (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static, bool IsFortran=false) const override |
ToolChain Implementation | |
} { | |
bool | isCrossCompiling () const override |
Returns true if the toolchain is targeting a non-native architecture. | |
llvm::opt::DerivedArgList * | TranslateArgs (const llvm::opt::DerivedArgList &Args, StringRef BoundArch, Action::OffloadKind DeviceOffloadKind) const override |
TranslateArgs - Create a new derived argument list for any argument translations this ToolChain may wish to perform, or 0 if no tool chain specific translations are needed. | |
CXXStdlibType | GetDefaultCXXStdlibType () const override |
ObjCRuntime | getDefaultObjCRuntime (bool isNonFragile) const override |
Darwin provides an ARC runtime starting in MacOS X 10.7 and iOS 5.0. | |
bool | hasBlocksRuntime () const override |
Darwin provides a blocks runtime starting in MacOS X 10.6 and iOS 3.2. | |
bool | UseObjCMixedDispatch () const override |
UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the mixed dispatch method be used? | |
LangOptions::StackProtectorMode | GetDefaultStackProtectorLevel (bool KernelOrKext) const override |
GetDefaultStackProtectorLevel - Get the default stack protector level for this tool chain. | |
void | CheckObjCARC () const override |
Complain if this tool chain doesn't support Objective-C ARC. | |
llvm::ExceptionHandling | GetExceptionModel (const llvm::opt::ArgList &Args) const override |
GetExceptionModel - Return the tool chain exception model. | |
bool | SupportsEmbeddedBitcode () const override |
SupportsEmbeddedBitcode - Does this tool chain support embedded bitcode. | |
SanitizerMask | getSupportedSanitizers () const override |
Return sanitizers which are available in this toolchain. | |
Public Member Functions inherited from clang::driver::toolchains::AppleMachO | |
AppleMachO (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
~AppleMachO () override | |
void | AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
Add the clang cc1 arguments for system include paths. | |
void | AddCudaIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
Add arguments to use system-specific CUDA includes. | |
void | AddHIPIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
Add arguments to use system-specific HIP includes. | |
void | addSYCLIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
Add arguments to use system-specific SYCL includes. | |
void | AddClangCXXStdlibIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set the include paths to use for the given C++ standard library type. | |
void | AddCXXStdlibLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override |
AddCXXStdlibLibArgs - Add the system specific linker arguments to use for the given C++ standard library type. | |
void | printVerboseInfo (raw_ostream &OS) const override |
Dispatch to the specific toolchain for verbose printing. | |
Public Member Functions inherited from clang::driver::toolchains::MachO | |
MachO (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
~MachO () override | |
types::ID | LookupTypeForExtension (StringRef Ext) const override |
LookupTypeForExtension - Return the default language type to use for the given extension. | |
bool | HasNativeLLVMSupport () const override |
HasNativeLTOLinker - Check whether the linker and related tools have native LLVM support. | |
llvm::opt::DerivedArgList * | TranslateArgs (const llvm::opt::DerivedArgList &Args, StringRef BoundArch, Action::OffloadKind DeviceOffloadKind) const override |
TranslateArgs - Create a new derived argument list for any argument translations this ToolChain may wish to perform, or 0 if no tool chain specific translations are needed. | |
bool | IsBlocksDefault () const override |
IsBlocksDefault - Does this tool chain enable -fblocks by default. | |
bool | IsMathErrnoDefault () const override |
IsMathErrnoDefault - Does this tool chain use -fmath-errno by default. | |
bool | IsEncodeExtendedBlockSignatureDefault () const override |
IsEncodeExtendedBlockSignatureDefault - Does this tool chain enable -fencode-extended-block-signature by default. | |
bool | IsObjCNonFragileABIDefault () const override |
IsObjCNonFragileABIDefault - Does this tool chain set -fobjc-nonfragile-abi by default. | |
bool | UseObjCMixedDispatch () const override |
UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the mixed dispatch method be used? | |
UnwindTableLevel | getDefaultUnwindTableLevel (const llvm::opt::ArgList &Args) const override |
How detailed should the unwind tables be by default. | |
RuntimeLibType | GetDefaultRuntimeLibType () const override |
GetDefaultRuntimeLibType - Get the default runtime library variant to use. | |
bool | isPICDefault () const override |
Test whether this toolchain defaults to PIC. | |
bool | isPIEDefault (const llvm::opt::ArgList &Args) const override |
Test whether this toolchain defaults to PIE. | |
bool | isPICDefaultForced () const override |
Tests whether this toolchain forces its default for PIC, PIE or non-PIC. | |
bool | SupportsProfiling () const override |
SupportsProfiling - Does this tool chain support -pg. | |
bool | UseDwarfDebugFlags () const override |
UseDwarfDebugFlags - Embed the compile options to clang into the Dwarf compile unit information. | |
std::string | GetGlobalDebugPathRemapping () const override |
Add an additional -fdebug-prefix-map entry. | |
llvm::ExceptionHandling | GetExceptionModel (const llvm::opt::ArgList &Args) const override |
GetExceptionModel - Return the tool chain exception model. | |
bool | canSplitThinLTOUnit () const override |
Returns true when it's possible to split LTO unit to use whole program devirtualization and CFI santiizers. | |
StringRef | getMachOArchName (const llvm::opt::ArgList &Args) const |
Get the "MachO" arch name for a particular compiler invocation. | |
VersionTuple | getLinkerVersion (const llvm::opt::ArgList &Args) const |
Get the version of the linker known to be available for a particular compiler invocation (via the -mlinker-version= arg). | |
virtual void | AddLinkARCArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
Add the linker arguments to link the ARC runtime library. | |
virtual void | AddLinkRuntimeLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, bool ForceLinkBuiltinRT=false) const |
Add the linker arguments to link the compiler runtime library. | |
bool | isTargetIOSBased () const |
Is the target either iOS or an iOS simulator? | |
void | AddLinkRuntimeLib (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs, StringRef Component, RuntimeLinkOptions Opts=RuntimeLinkOptions(), bool IsShared=false) const |
Add a runtime library to the list of items to link. | |
void | addProfileRTLibs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override |
Add any profiling runtime libraries that are needed. | |
std::string | getCompilerRT (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static, bool IsFortran=false) const override |
Public Member Functions inherited from clang::driver::ToolChain | |
virtual | ~ToolChain () |
const Driver & | getDriver () const |
llvm::vfs::FileSystem & | getVFS () const |
const llvm::Triple & | getTriple () const |
virtual const llvm::Triple * | getAuxTriple () const |
Get the toolchain's aux triple, if it has one. | |
virtual std::string | getInputFilename (const InputInfo &Input) const |
Some toolchains need to modify the file name, for example to replace the extension for object files with .cubin for OpenMP offloading to Nvidia GPUs. | |
llvm::Triple::ArchType | getArch () const |
StringRef | getArchName () const |
StringRef | getPlatform () const |
StringRef | getOS () const |
StringRef | getDefaultUniversalArchName () const |
Provide the default architecture name (as expected by -arch) for this toolchain. | |
std::string | getTripleString () const |
const llvm::Triple & | getEffectiveTriple () const |
Get the toolchain's effective clang triple. | |
bool | hasEffectiveTriple () const |
path_list & | getLibraryPaths () |
const path_list & | getLibraryPaths () const |
path_list & | getFilePaths () |
const path_list & | getFilePaths () const |
path_list & | getProgramPaths () |
const path_list & | getProgramPaths () const |
const MultilibSet & | getMultilibs () const |
const llvm::SmallVector< Multilib > & | getSelectedMultilibs () const |
Multilib::flags_list | getMultilibFlags (const llvm::opt::ArgList &) const |
Get flags suitable for multilib selection, based on the provided clang command line arguments. | |
SanitizerArgs | getSanitizerArgs (const llvm::opt::ArgList &JobArgs) const |
const XRayArgs | getXRayArgs (const llvm::opt::ArgList &) const |
const llvm::opt::Arg * | getRTTIArg () const |
RTTIMode | getRTTIMode () const |
ExceptionsMode | getExceptionsMode () const |
virtual llvm::opt::DerivedArgList * | TranslateOpenMPTargetArgs (const llvm::opt::DerivedArgList &Args, bool SameTripleAsHost, SmallVectorImpl< llvm::opt::Arg * > &AllocatedArgs) const |
TranslateOpenMPTargetArgs - Create a new derived argument list for that contains the OpenMP target specific flags passed via -Xopenmp-target -opt=val OR -Xopenmp-target=<triple> -opt=val. | |
virtual void | TranslateXarchArgs (const llvm::opt::DerivedArgList &Args, llvm::opt::Arg *&A, llvm::opt::DerivedArgList *DAL, SmallVectorImpl< llvm::opt::Arg * > *AllocatedArgs=nullptr) const |
Append the argument following A to DAL assuming A is an Xarch argument. | |
virtual llvm::opt::DerivedArgList * | TranslateXarchArgs (const llvm::opt::DerivedArgList &Args, StringRef BoundArch, Action::OffloadKind DeviceOffloadKind, SmallVectorImpl< llvm::opt::Arg * > *AllocatedArgs) const |
Translate -Xarch_ arguments. | |
virtual Tool * | SelectTool (const JobAction &JA) const |
Choose a tool to use to handle the action JA . | |
std::string | GetFilePath (const char *Name) const |
std::string | GetProgramPath (const char *Name) const |
std::string | GetLinkerPath (bool *LinkerIsLLD=nullptr) const |
Returns the linker path, respecting the -fuse-ld= argument to determine the linker suffix or name. | |
std::string | GetStaticLibToolPath () const |
Returns the linker path for emitting a static library. | |
virtual bool | IsIntegratedAssemblerDefault () const |
IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default. | |
virtual bool | IsIntegratedBackendDefault () const |
IsIntegratedBackendDefault - Does this tool chain enable -fintegrated-objemitter by default. | |
virtual bool | IsIntegratedBackendSupported () const |
IsIntegratedBackendSupported - Does this tool chain support -fintegrated-objemitter. | |
virtual bool | IsNonIntegratedBackendSupported () const |
IsNonIntegratedBackendSupported - Does this tool chain support -fno-integrated-objemitter. | |
virtual bool | useIntegratedAs () const |
Check if the toolchain should use the integrated assembler. | |
virtual bool | useIntegratedBackend () const |
Check if the toolchain should use the integrated backend. | |
virtual bool | parseInlineAsmUsingAsmParser () const |
Check if the toolchain should use AsmParser to parse inlineAsm when integrated assembler is not default. | |
virtual bool | useRelaxRelocations () const |
Check whether to enable x86 relax relocations by default. | |
bool | defaultToIEEELongDouble () const |
Check whether use IEEE binary128 as long double format by default. | |
virtual LangOptions::TrivialAutoVarInitKind | GetDefaultTrivialAutoVarInit () const |
Get the default trivial automatic variable initialization. | |
virtual const char * | getDefaultLinker () const |
GetDefaultLinker - Get the default linker to use. | |
virtual UnwindLibType | GetDefaultUnwindLibType () const |
virtual std::string | getCompilerRTPath () const |
virtual void | addFortranRuntimeLibs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
Adds Fortran runtime libraries to CmdArgs . | |
virtual void | addFortranRuntimeLibraryPath (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
Adds the path for the Fortran runtime libraries to CmdArgs . | |
void | addFlangRTLibPath (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
Add the path for libflang_rt.runtime.a. | |
const char * | getCompilerRTArgString (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static, bool IsFortran=false) const |
std::string | getCompilerRTBasename (const llvm::opt::ArgList &Args, StringRef Component, FileType Type=ToolChain::FT_Static) const |
llvm::Triple | getTripleWithoutOSVersion () const |
std::optional< std::string > | getRuntimePath () const |
std::optional< std::string > | getStdlibPath () const |
std::optional< std::string > | getStdlibIncludePath () const |
virtual path_list | getArchSpecificLibPaths () const |
virtual StringRef | getOSLibName () const |
virtual bool | IsAArch64OutlineAtomicsDefault (const llvm::opt::ArgList &Args) const |
Test whether this toolchain supports outline atomics by default. | |
virtual llvm::codegenoptions::DebugInfoFormat | getDefaultDebugFormat () const |
Get the default debug info format. Typically, this is DWARF. | |
virtual unsigned | GetDefaultDwarfVersion () const |
virtual unsigned | getMaxDwarfVersion () const |
virtual bool | GetDefaultStandaloneDebug () const |
virtual llvm::DebuggerKind | getDefaultDebuggerTuning () const |
virtual bool | supportsDebugInfoOption (const llvm::opt::Arg *) const |
Does this toolchain supports given debug info option or not. | |
virtual void | adjustDebugInfoKind (llvm::codegenoptions::DebugInfoKind &DebugInfoKind, const llvm::opt::ArgList &Args) const |
Adjust debug information kind considering all passed options. | |
virtual std::string | getThreadModel () const |
getThreadModel() - Which thread model does this target use? | |
virtual bool | isThreadModelSupported (const StringRef Model) const |
isThreadModelSupported() - Does this target support a thread model? | |
virtual bool | isBareMetal () const |
isBareMetal - Is this a bare metal target. | |
virtual std::string | getMultiarchTriple (const Driver &D, const llvm::Triple &TargetTriple, StringRef SysRoot) const |
virtual std::string | ComputeLLVMTriple (const llvm::opt::ArgList &Args, types::ID InputType=types::TY_INVALID) const |
ComputeLLVMTriple - Return the LLVM target triple to use, after taking command line arguments into account. | |
virtual std::string | computeSysRoot () const |
Return the sysroot, possibly searching for a default sysroot using target-specific logic. | |
virtual void | addClangWarningOptions (llvm::opt::ArgStringList &CC1Args) const |
Add warning options that need to be passed to cc1 for this target. | |
virtual SmallVector< std::string > | getMultilibMacroDefinesStr (llvm::opt::ArgList &Args) const |
virtual RuntimeLibType | GetRuntimeLibType (const llvm::opt::ArgList &Args) const |
virtual CXXStdlibType | GetCXXStdlibType (const llvm::opt::ArgList &Args) const |
virtual UnwindLibType | GetUnwindLibType (const llvm::opt::ArgList &Args) const |
virtual std::string | detectLibcxxVersion (StringRef IncludePath) const |
void | AddClangCXXStdlibIsystemArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
AddClangCXXStdlibIsystemArgs - Add the clang -cc1 level arguments to set the specified include paths for the C++ standard library. | |
bool | ShouldLinkCXXStdlib (const llvm::opt::ArgList &Args) const |
Returns if the C++ standard library should be linked in. | |
void | AddFilePathLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
AddFilePathLibArgs - Add each thing in getFilePaths() as a "-L" option. | |
virtual void | AddCCKextLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
AddCCKextLibArgs - Add the system specific linker arguments to use for kernel extensions (Darwin-specific). | |
virtual bool | isFastMathRuntimeAvailable (const llvm::opt::ArgList &Args, std::string &Path) const |
If a runtime library exists that sets global flags for unsafe floating point math, return true. | |
bool | addFastMathRuntimeIfAvailable (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
AddFastMathRuntimeIfAvailable - If a runtime library exists that sets global flags for unsafe floating point math, add it and return true. | |
virtual Expected< SmallVector< std::string > > | getSystemGPUArchs (const llvm::opt::ArgList &Args) const |
getSystemGPUArchs - Use a tool to detect the user's availible GPUs. | |
virtual void | AddIAMCUIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
Add arguments to use MCU GCC toolchain includes. | |
virtual VersionTuple | computeMSVCVersion (const Driver *D, const llvm::opt::ArgList &Args) const |
On Windows, returns the MSVC compatibility version. | |
virtual llvm::SmallVector< BitCodeLibraryInfo, 12 > | getDeviceLibs (const llvm::opt::ArgList &Args, const Action::OffloadKind DeviceOffloadingKind) const |
Get paths for device libraries. | |
virtual void | AddHIPRuntimeLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
Add the system specific linker arguments to use for the given HIP runtime library type. | |
virtual SanitizerMask | getDefaultSanitizers () const |
Return sanitizers which are enabled by default. | |
virtual llvm::DenormalMode | getDefaultDenormalModeForType (const llvm::opt::ArgList &DriverArgs, const JobAction &JA, const llvm::fltSemantics *FPType=nullptr) const |
Returns the output denormal handling type in the default floating point environment for the given FPType if given. |
Public Attributes | |
bool | TargetInitialized |
Whether the information on the target has been initialized. | |
DarwinPlatformKind | TargetPlatform |
DarwinEnvironmentKind | TargetEnvironment |
VersionTuple | TargetVersion |
The native OS version we are targeting. | |
VersionTuple | OSTargetVersion |
The OS version we are targeting as specified in the triple. | |
std::optional< DarwinSDKInfo > | SDKInfo |
The information about the darwin SDK that was used. | |
std::optional< llvm::Triple > | TargetVariantTriple |
The target variant triple that was specified (if any). | |
LazyDetector< CudaInstallationDetector > | CudaInstallation |
} | |
LazyDetector< RocmInstallationDetector > | RocmInstallation |
LazyDetector< SYCLInstallationDetector > | SYCLInstallation |
Darwin specific Toolchain functions | |
} { | |
bool | isTargetIPhoneOS () const |
bool | isTargetIOSSimulator () const |
bool | isTargetIOSBased () const |
bool | isTargetXROSDevice () const |
bool | isTargetXROSSimulator () const |
bool | isTargetXROS () const |
bool | isTargetTvOS () const |
bool | isTargetTvOSSimulator () const |
bool | isTargetTvOSBased () const |
bool | isTargetWatchOS () const |
bool | isTargetWatchOSSimulator () const |
bool | isTargetWatchOSBased () const |
bool | isTargetDriverKit () const |
bool | isTargetMacCatalyst () const |
bool | isTargetMacOS () const |
bool | isTargetMacOSBased () const |
bool | isTargetAppleSiliconMac () const |
bool | isTargetInitialized () const |
VersionTuple | getTripleTargetVersion () const |
The version of the OS that's used by the OS specified in the target triple. | |
bool | isIPhoneOSVersionLT (unsigned V0, unsigned V1=0, unsigned V2=0) const |
bool | isMacosxVersionLT (unsigned V0, unsigned V1=0, unsigned V2=0) const |
Returns true if the minimum supported macOS version for the slice that's being built is less than the specified version. | |
void | setTarget (DarwinPlatformKind Platform, DarwinEnvironmentKind Environment, unsigned Major, unsigned Minor, unsigned Micro, VersionTuple NativeTargetVersion) const |
bool | isAlignedAllocationUnavailable () const |
Return true if c++17 aligned allocation/deallocation functions are not implemented in the c++ standard library of the deployment target we are targeting. | |
bool | isSizedDeallocationUnavailable () const |
Return true if c++14 sized deallocation functions are not implemented in the c++ standard library of the deployment target we are targeting. | |
void | addClangTargetOptions (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, Action::OffloadKind DeviceOffloadKind) const override |
Add options that need to be passed to cc1 for this target. | |
void | addClangCC1ASTargetOptions (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CC1ASArgs) const override |
Add options that need to be passed to cc1as for this target. | |
StringRef | getPlatformFamily () const |
StringRef | getOSLibraryNameSuffix (bool IgnoreSim=false) const override |
static StringRef | getSDKName (StringRef isysroot) |
Additional Inherited Members | |
Static Public Member Functions inherited from clang::driver::ToolChain | |
static void | addSystemInclude (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const Twine &Path) |
Utility function to add a system include directory to CC1 arguments. | |
static ParsedClangName | getTargetAndModeFromProgramName (StringRef ProgName) |
Return any implicit target and/or mode flag for an invocation of the compiler driver as ProgName. | |
static bool | needsProfileRT (const llvm::opt::ArgList &Args) |
needsProfileRT - returns true if instrumentation profile is on. | |
static bool | needsGCovInstrumentation (const llvm::opt::ArgList &Args) |
Returns true if gcov instrumentation (-fprofile-arcs or –coverage) is on. | |
static llvm::Triple | getOpenMPTriple (StringRef TripleStr) |
llvm::SmallString< 128 > | GetEffectiveSysroot (const llvm::opt::ArgList &DriverArgs) const |
Protected Member Functions inherited from clang::driver::toolchains::MachO | |
Tool * | buildAssembler () const override |
Tool * | buildLinker () const override |
Tool * | buildStaticLibTool () const override |
Tool * | getTool (Action::ActionClass AC) const override |
void | addClangTargetOptions (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, Action::OffloadKind DeviceOffloadKind) const override |
Add options that need to be passed to cc1 for this target. | |
Protected Member Functions inherited from clang::driver::ToolChain | |
ToolChain (const Driver &D, const llvm::Triple &T, const llvm::opt::ArgList &Args) | |
void | setTripleEnvironment (llvm::Triple::EnvironmentType Env) |
virtual std::string | buildCompilerRTBasename (const llvm::opt::ArgList &Args, StringRef Component, FileType Type, bool AddArch, bool IsFortran=false) const |
std::optional< std::string > | getTargetSubDirPath (StringRef BaseDir) const |
Find the target-specific subdirectory for the current target triple under BaseDir , doing fallback triple searches as necessary. | |
Static Protected Member Functions inherited from clang::driver::ToolChain | |
static void | addSystemFrameworkInclude (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const Twine &Path) |
Utility function to add a system framework directory to CC1 arguments. | |
static void | addExternCSystemInclude (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const Twine &Path) |
Utility function to add a system include directory with extern "C" semantics to CC1 arguments. | |
static void | addExternCSystemIncludeIfExists (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const Twine &Path) |
static void | addSystemFrameworkIncludes (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, ArrayRef< StringRef > Paths) |
Utility function to add a list of system framework directories to CC1. | |
static void | addSystemIncludes (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, ArrayRef< StringRef > Paths) |
Utility function to add a list of system include directories to CC1. | |
static std::string | concat (StringRef Path, const Twine &A, const Twine &B="", const Twine &C="", const Twine &D="") |
Protected Attributes inherited from clang::driver::ToolChain | |
MultilibSet | Multilibs |
llvm::SmallVector< Multilib > | SelectedMultilibs |
Darwin::Darwin | ( | const Driver & | D, |
const llvm::Triple & | Triple, | ||
const llvm::opt::ArgList & | Args ) |
Darwin - Darwin tool chain for i386 and x86_64.
Definition at line 961 of file Darwin.cpp.
References clang::driver::toolchains::AppleMachO::AppleMachO(), false, and TargetInitialized.
Referenced by clang::driver::toolchains::DarwinClang::DarwinClang(), and setTarget().
|
override |
Definition at line 1115 of file Darwin.cpp.
|
overrideprotectedvirtual |
Add options that need to be passed to cc1as for this target.
Pass the SDK version to the compiler when the SDK information is available.
Pass the target variant SDK version to the compiler when the SDK information is available and is required for target variant.
Reimplemented from clang::driver::ToolChain.
Definition at line 3314 of file Darwin.cpp.
References isTargetMacCatalyst(), clang::DarwinSDKInfo::OSEnvPair::macOStoMacCatalystPair(), minimumMacCatalystDeploymentTarget(), SDKInfo, TargetVariantTriple, and V.
Referenced by addClangTargetOptions().
|
overrideprotectedvirtual |
Add options that need to be passed to cc1 for this target.
Reimplemented from clang::driver::ToolChain.
Reimplemented in clang::driver::toolchains::DarwinClang.
Definition at line 3233 of file Darwin.cpp.
References addClangCC1ASTargetOptions(), clang::driver::toolchains::MachO::addClangTargetOptions(), IPhoneOS, isAlignedAllocationUnavailable(), isSizedDeallocationUnavailable(), MacOS, SDKInfo, sdkSupportsBuiltinModules(), TargetPlatform, TvOS, WatchOS, and XROS.
Referenced by clang::driver::toolchains::DarwinClang::addClangTargetOptions().
|
overridevirtual |
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 3479 of file Darwin.cpp.
References clang::driver::ToolChain::getEffectiveTriple(), getTripleTargetVersion(), isTargetDriverKit(), isTargetIOSBased(), isTargetIOSSimulator(), isTargetMacCatalyst(), isTargetMacOS(), isTargetMacOSBased(), isTargetTvOS(), isTargetTvOSSimulator(), isTargetWatchOS(), isTargetWatchOSSimulator(), isTargetXROS(), TargetVariantTriple, and TargetVersion.
|
overridevirtual |
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 3552 of file Darwin.cpp.
References clang::driver::ToolChain::getArchName(), clang::getAsString(), clang::driver::ToolChain::getEffectiveTriple(), getPlatformName(), clang::driver::ToolChain::getTriple(), getTripleTargetVersion(), IPhoneOS, MacCatalyst, MacOS, clang::DarwinSDKInfo::OSEnvPair::macOStoMacCatalystPair(), minimumMacCatalystDeploymentTarget(), NativeEnvironment, SDKInfo, Simulator, TargetEnvironment, TargetPlatform, TargetVariantTriple, TargetVersion, and TvOS.
|
overridevirtual |
addProfileRTLibs - When -fprofile-instr-profile is specified, try to pass a suitable profile runtime library to the linker.
Reimplemented from clang::driver::ToolChain.
Definition at line 1475 of file Darwin.cpp.
References addExportedSymbol(), clang::driver::toolchains::MachO::AddLinkRuntimeLib(), addSectalignToPage(), hasExportSymbolDirective(), clang::driver::ToolChain::needsGCovInstrumentation(), clang::driver::ToolChain::needsProfileRT(), and clang::driver::toolchains::MachO::RLO_AlwaysLink.
|
overridevirtual |
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 3718 of file Darwin.cpp.
References addBundleLinkArgs(), addDefaultCRTLinkArgs(), addDynamicLibLinkArgs(), addPgProfilingLinkArgs(), clang::driver::ToolChain::GetFilePath(), isMacosxVersionLT(), isTargetMacOS(), and clang::driver::toolchains::MachO::SupportsProfiling().
|
overridevirtual |
Complain if this tool chain doesn't support Objective-C ARC.
Reimplemented from clang::driver::ToolChain.
Definition at line 3741 of file Darwin.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::getDriver(), isMacosxVersionLT(), isTargetIOSBased(), isTargetMacOSBased(), isTargetWatchOSBased(), and isTargetXROS().
|
overridevirtual |
ComputeEffectiveClangTriple - Return the Clang triple to use for this target, which may take into account the command line arguments.
For example, on Darwin the -mmacos-version-min= command line argument (which sets the deployment target) determines the version in the triple passed to Clang.
Reimplemented from clang::driver::ToolChain.
Definition at line 1121 of file Darwin.cpp.
References clang::driver::ToolChain::ComputeLLVMTriple(), getTripleTargetVersion(), isTargetDriverKit(), isTargetInitialized(), isTargetIOSBased(), isTargetMacCatalyst(), isTargetTvOSBased(), isTargetWatchOSBased(), and isTargetXROS().
|
overridevirtual |
Reimplemented from clang::driver::ToolChain.
Definition at line 1366 of file Darwin.cpp.
References clang::driver::ToolChain::FT_Object, clang::driver::ToolChain::FT_Shared, clang::driver::ToolChain::getDriver(), and getOSLibraryNameSuffix().
|
overridevirtual |
Reimplemented from clang::driver::ToolChain.
Definition at line 976 of file Darwin.cpp.
References clang::driver::ToolChain::CST_Libcxx.
|
overridevirtual |
Darwin provides an ARC runtime starting in MacOS X 10.7 and iOS 5.0.
Reimplemented from clang::driver::ToolChain.
Definition at line 982 of file Darwin.cpp.
References clang::ObjCRuntime::FragileMacOSX, clang::ObjCRuntime::iOS, isTargetIOSBased(), isTargetWatchOSBased(), isTargetXROS(), clang::ObjCRuntime::MacOSX, clang::T, TargetVersion, and clang::ObjCRuntime::WatchOS.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs().
|
inlineoverridevirtual |
GetDefaultStackProtectorLevel - Get the default stack protector level for this tool chain.
Reimplemented from clang::driver::ToolChain.
Definition at line 617 of file Darwin.h.
References isMacosxVersionLT(), isTargetDriverKit(), isTargetIOSBased(), isTargetMacOSBased(), isTargetWatchOSBased(), isTargetXROS(), clang::LangOptionsBase::SSPOff, and clang::LangOptionsBase::SSPOn.
|
overridevirtual |
GetExceptionModel - Return the tool chain exception model.
Reimplemented from clang::driver::ToolChain.
Definition at line 3444 of file Darwin.cpp.
References clang::driver::ToolChain::ComputeLLVMTriple(), clang::driver::ToolChain::getArch(), and clang::driver::ToolChain::getTriple().
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 1417 of file Darwin.cpp.
References DriverKit, IPhoneOS, MacCatalyst, MacOS, NativeEnvironment, TargetEnvironment, TargetPlatform, TvOS, WatchOS, and XROS.
Referenced by getCompilerRT().
|
protected |
Definition at line 1385 of file Darwin.cpp.
References DriverKit, IPhoneOS, MacCatalyst, MacOS, TargetEnvironment, TargetPlatform, TvOS, WatchOS, and XROS.
|
static |
Definition at line 1405 of file Darwin.cpp.
|
overridevirtual |
Return sanitizers which are available in this toolchain.
Reimplemented from clang::driver::ToolChain.
Definition at line 3748 of file Darwin.cpp.
References clang::driver::ToolChain::getSupportedSanitizers(), clang::driver::ToolChain::getTriple(), isIPhoneOSVersionLT(), isMacosxVersionLT(), isTargetIOSSimulator(), isTargetIPhoneOS(), isTargetMacOSBased(), isTargetTvOSSimulator(), and isTargetWatchOSSimulator().
|
inline |
The version of the OS that's used by the OS specified in the target triple.
It might be different from the actual target OS on which the program will run, e.g. MacCatalyst code runs on a macOS target, but its target triple is iOS.
Definition at line 539 of file Darwin.h.
References isTargetMacCatalyst(), OSTargetVersion, TargetInitialized, and TargetVersion.
Referenced by addMinVersionArgs(), addPlatformVersionArgs(), and ComputeEffectiveClangTriple().
|
overridevirtual |
Darwin provides a blocks runtime starting in MacOS X 10.6 and iOS 3.2.
Reimplemented from clang::driver::ToolChain.
Definition at line 1000 of file Darwin.cpp.
References isIPhoneOSVersionLT(), isMacosxVersionLT(), isTargetDriverKit(), isTargetIOSBased(), isTargetMacOSBased(), isTargetWatchOSBased(), and isTargetXROS().
|
protected |
Return true if c++17 aligned allocation/deallocation functions are not implemented in the c++ standard library of the deployment target we are targeting.
Definition at line 3080 of file Darwin.cpp.
References clang::alignedAllocMinVersion(), DriverKit, IPhoneOS, isTargetMacCatalyst(), MacOS, TargetPlatform, TargetVersion, TvOS, WatchOS, and XROS.
Referenced by addClangTargetOptions().
|
inlineoverridevirtual |
Returns true if the toolchain is targeting a non-native architecture.
Reimplemented from clang::driver::ToolChain.
|
inline |
Definition at line 544 of file Darwin.h.
References isTargetIOSBased(), and TargetVersion.
Referenced by addBundleLinkArgs(), addDefaultCRTLinkArgs(), addDynamicLibLinkArgs(), clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), getSupportedSanitizers(), hasBlocksRuntime(), isKernelStatic(), SupportsEmbeddedBitcode(), and TranslateArgs().
|
inlineoverridevirtual |
On some iOS platforms, kernel and kernel modules were built statically.
Is this such a target?
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 405 of file Darwin.h.
References isIPhoneOSVersionLT(), isTargetDriverKit(), isTargetIPhoneOS(), and isTargetWatchOS().
|
inline |
Returns true if the minimum supported macOS version for the slice that's being built is less than the specified version.
If there's no minimum supported macOS version, the deployment target version is compared to the specifed version instead.
Definition at line 554 of file Darwin.h.
References clang::driver::ToolChain::getArchName(), clang::driver::ToolChain::getTriple(), isTargetMacOSBased(), and TargetVersion.
Referenced by addBundleLinkArgs(), addDefaultCRTLinkArgs(), addDynamicLibLinkArgs(), clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), addPgProfilingLinkArgs(), addStartObjectFileArgs(), CheckObjCARC(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), GetDefaultStackProtectorLevel(), getSupportedSanitizers(), hasBlocksRuntime(), and UseObjCMixedDispatch().
|
protected |
Return true if c++14 sized deallocation functions are not implemented in the c++ standard library of the deployment target we are targeting.
Definition at line 3157 of file Darwin.cpp.
References DriverKit, IPhoneOS, isTargetMacCatalyst(), MacOS, sizedDeallocMinVersion(), TargetPlatform, TargetVersion, TvOS, WatchOS, and XROS.
Referenced by addClangTargetOptions().
|
inline |
Definition at line 528 of file Darwin.h.
References clang::driver::ToolChain::getArch(), isTargetMacOSBased(), and TargetInitialized.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs().
|
inline |
Definition at line 509 of file Darwin.h.
References DriverKit, TargetInitialized, and TargetPlatform.
Referenced by clang::driver::toolchains::DarwinClang::AddCCKextLibArgs(), clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), addMinVersionArgs(), ComputeEffectiveClangTriple(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), GetDefaultStackProtectorLevel(), hasBlocksRuntime(), isKernelStatic(), and TranslateArgs().
|
inline |
Definition at line 533 of file Darwin.h.
References TargetInitialized.
Referenced by ComputeEffectiveClangTriple().
|
inline |
Definition at line 464 of file Darwin.h.
References isTargetIOSSimulator(), isTargetIPhoneOS(), and TargetInitialized.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), addMinVersionArgs(), CheckObjCARC(), ComputeEffectiveClangTriple(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), getDefaultObjCRuntime(), GetDefaultStackProtectorLevel(), hasBlocksRuntime(), isIPhoneOSVersionLT(), and TranslateArgs().
|
inline |
Definition at line 458 of file Darwin.h.
References IPhoneOS, Simulator, TargetEnvironment, TargetInitialized, TargetPlatform, and TvOS.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), addMinVersionArgs(), getSupportedSanitizers(), and isTargetIOSBased().
|
inline |
Definition at line 452 of file Darwin.h.
References IPhoneOS, NativeEnvironment, TargetEnvironment, TargetInitialized, TargetPlatform, and TvOS.
Referenced by addBundleLinkArgs(), clang::driver::toolchains::DarwinClang::AddCCKextLibArgs(), addDefaultCRTLinkArgs(), addDynamicLibLinkArgs(), clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), getSupportedSanitizers(), isKernelStatic(), isTargetIOSBased(), and SupportsEmbeddedBitcode().
|
inline |
Definition at line 514 of file Darwin.h.
References IPhoneOS, MacCatalyst, TargetEnvironment, and TargetPlatform.
Referenced by addClangCC1ASTargetOptions(), addMinVersionArgs(), ComputeEffectiveClangTriple(), getTripleTargetVersion(), isAlignedAllocationUnavailable(), isSizedDeallocationUnavailable(), and isTargetMacOSBased().
|
inline |
Definition at line 518 of file Darwin.h.
References MacOS, TargetInitialized, and TargetPlatform.
Referenced by addBundleLinkArgs(), clang::driver::toolchains::DarwinClang::addClangWarningOptions(), addDefaultCRTLinkArgs(), addDynamicLibLinkArgs(), addMinVersionArgs(), addPgProfilingLinkArgs(), and addStartObjectFileArgs().
|
inline |
Definition at line 523 of file Darwin.h.
References isTargetMacCatalyst(), MacOS, TargetInitialized, and TargetPlatform.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), addMinVersionArgs(), addPgProfilingLinkArgs(), CheckObjCARC(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), GetDefaultStackProtectorLevel(), getSupportedSanitizers(), hasBlocksRuntime(), isMacosxVersionLT(), isTargetAppleSiliconMac(), and UseObjCMixedDispatch().
|
inline |
Definition at line 479 of file Darwin.h.
References NativeEnvironment, TargetEnvironment, TargetInitialized, TargetPlatform, and TvOS.
Referenced by clang::driver::toolchains::DarwinClang::AddCCKextLibArgs(), clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), and addMinVersionArgs().
|
inline |
Definition at line 489 of file Darwin.h.
References TargetInitialized, TargetPlatform, and TvOS.
Referenced by ComputeEffectiveClangTriple().
|
inline |
Definition at line 484 of file Darwin.h.
References Simulator, TargetEnvironment, TargetInitialized, TargetPlatform, and TvOS.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), addMinVersionArgs(), and getSupportedSanitizers().
|
inline |
Definition at line 494 of file Darwin.h.
References NativeEnvironment, TargetEnvironment, TargetInitialized, TargetPlatform, and WatchOS.
Referenced by clang::driver::toolchains::DarwinClang::AddCCKextLibArgs(), clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), addMinVersionArgs(), and isKernelStatic().
|
inline |
Definition at line 504 of file Darwin.h.
References TargetInitialized, TargetPlatform, and WatchOS.
Referenced by clang::driver::toolchains::DarwinClang::addClangWarningOptions(), CheckObjCARC(), ComputeEffectiveClangTriple(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), getDefaultObjCRuntime(), GetDefaultStackProtectorLevel(), hasBlocksRuntime(), and TranslateArgs().
|
inline |
Definition at line 499 of file Darwin.h.
References Simulator, TargetEnvironment, TargetInitialized, TargetPlatform, and WatchOS.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), addMinVersionArgs(), and getSupportedSanitizers().
|
inline |
Definition at line 477 of file Darwin.h.
References TargetPlatform, and XROS.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), addMinVersionArgs(), CheckObjCARC(), ComputeEffectiveClangTriple(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), getDefaultObjCRuntime(), GetDefaultStackProtectorLevel(), hasBlocksRuntime(), and TranslateArgs().
|
inline |
Definition at line 469 of file Darwin.h.
References NativeEnvironment, TargetEnvironment, TargetPlatform, and XROS.
Referenced by clang::driver::toolchains::DarwinClang::AddCCKextLibArgs().
|
inline |
Definition at line 473 of file Darwin.h.
References Simulator, TargetEnvironment, TargetPlatform, and XROS.
|
inlineprotected |
Definition at line 426 of file Darwin.h.
References Darwin(), MacCatalyst, OSTargetVersion, clang::driver::ToolChain::setTripleEnvironment(), Simulator, TargetEnvironment, TargetInitialized, TargetPlatform, and TargetVersion.
|
overridevirtual |
SupportsEmbeddedBitcode - Does this tool chain support embedded bitcode.
Reimplemented from clang::driver::ToolChain.
Definition at line 3458 of file Darwin.cpp.
References isIPhoneOSVersionLT(), isTargetIPhoneOS(), and TargetInitialized.
|
overridevirtual |
TranslateArgs - Create a new derived argument list for any argument translations this ToolChain may wish to perform, or 0 if no tool chain specific translations are needed.
If DeviceOffloadKind
is specified the translation specific for that offload kind is performed.
BoundArch | - The bound architecture name, or 0. |
DeviceOffloadKind | - The device offload kind used for the translation. |
Reimplemented from clang::driver::ToolChain.
Definition at line 3370 of file Darwin.cpp.
References Arch, clang::driver::Driver::Diag(), clang::driver::tools::darwin::getArchTypeForMachOArchName(), clang::driver::ToolChain::getDriver(), isIPhoneOSVersionLT(), isTargetDriverKit(), isTargetIOSBased(), isTargetWatchOSBased(), isTargetXROS(), and clang::driver::toolchains::MachO::TranslateArgs().
|
inlineoverridevirtual |
UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the mixed dispatch method be used?
Reimplemented from clang::driver::ToolChain.
Definition at line 609 of file Darwin.h.
References isMacosxVersionLT(), and isTargetMacOSBased().
|
mutable |
The OS version we are targeting as specified in the triple.
Definition at line 374 of file Darwin.h.
Referenced by getTripleTargetVersion(), and setTarget().
|
mutable |
The information about the darwin SDK that was used.
Definition at line 377 of file Darwin.h.
Referenced by addClangCC1ASTargetOptions(), addClangTargetOptions(), and addPlatformVersionArgs().
|
mutable |
Definition at line 369 of file Darwin.h.
Referenced by addPlatformVersionArgs(), getOSLibraryNameSuffix(), getPlatformFamily(), isTargetIOSSimulator(), isTargetIPhoneOS(), isTargetMacCatalyst(), isTargetTvOS(), isTargetTvOSSimulator(), isTargetWatchOS(), isTargetWatchOSSimulator(), isTargetXROSDevice(), isTargetXROSSimulator(), and setTarget().
|
mutable |
Whether the information on the target has been initialized.
Definition at line 351 of file Darwin.h.
Referenced by Darwin(), getTripleTargetVersion(), isTargetAppleSiliconMac(), isTargetDriverKit(), isTargetInitialized(), isTargetIOSBased(), isTargetIOSSimulator(), isTargetIPhoneOS(), isTargetMacOS(), isTargetMacOSBased(), isTargetTvOS(), isTargetTvOSBased(), isTargetTvOSSimulator(), isTargetWatchOS(), isTargetWatchOSBased(), isTargetWatchOSSimulator(), setTarget(), and SupportsEmbeddedBitcode().
|
mutable |
Definition at line 368 of file Darwin.h.
Referenced by addClangTargetOptions(), addPlatformVersionArgs(), getOSLibraryNameSuffix(), getPlatformFamily(), isAlignedAllocationUnavailable(), isSizedDeallocationUnavailable(), isTargetDriverKit(), isTargetIOSSimulator(), isTargetIPhoneOS(), isTargetMacCatalyst(), isTargetMacOS(), isTargetMacOSBased(), isTargetTvOS(), isTargetTvOSBased(), isTargetTvOSSimulator(), isTargetWatchOS(), isTargetWatchOSBased(), isTargetWatchOSSimulator(), isTargetXROS(), isTargetXROSDevice(), isTargetXROSSimulator(), and setTarget().
|
mutable |
The target variant triple that was specified (if any).
Definition at line 380 of file Darwin.h.
Referenced by addClangCC1ASTargetOptions(), addMinVersionArgs(), and addPlatformVersionArgs().
|
mutable |
The native OS version we are targeting.
Definition at line 372 of file Darwin.h.
Referenced by addMinVersionArgs(), addPlatformVersionArgs(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), getDefaultObjCRuntime(), getTripleTargetVersion(), isAlignedAllocationUnavailable(), isIPhoneOSVersionLT(), isMacosxVersionLT(), isSizedDeallocationUnavailable(), and setTarget().