clang
8.0.0
|
Darwin - The base Darwin tool chain. More...
#include "/work/www-prereleases/8.0.0/rc4/docsbuild/llvm.src/tools/clang/lib/Driver/ToolChains/Darwin.h"
Public Types | |
enum | DarwinPlatformKind { MacOS, IPhoneOS, TvOS, WatchOS, LastDarwinPlatform = WatchOS } |
enum | DarwinEnvironmentKind { NativeEnvironment, Simulator } |
![]() | |
enum | RuntimeLinkOptions : unsigned { RLO_AlwaysLink = 1 << 0, RLO_IsEmbedded = 1 << 1, RLO_AddRPath = 1 << 2, RLO_FirstLink = 1 << 3 } |
Options to control how a runtime library is linked. More... | |
![]() | |
enum | CXXStdlibType { CST_Libcxx, CST_Libstdcxx } |
enum | RuntimeLibType { RLT_CompilerRT, RLT_Libgcc } |
enum | RTTIMode { RM_Enabled, RM_Disabled } |
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. More... | |
~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. More... | |
Apple Specific Toolchain Implementation | |
{ | |
void | addMinVersionArgs (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. More... | |
void | addProfileRTLibs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override |
Add any profiling runtime libraries that are needed. More... | |
ToolChain Implementation | |
} { | |
bool | isCrossCompiling () const override |
Returns true if the toolchain is targeting a non-native architecture. More... | |
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. More... | |
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. More... | |
bool | hasBlocksRuntime () const override |
Darwin provides a blocks runtime starting in MacOS X 10.6 and iOS 3.2. More... | |
void | AddCudaIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
Add arguments to use system-specific CUDA includes. More... | |
bool | UseObjCMixedDispatch () const override |
UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the mixed dispatch method be used? More... | |
unsigned | GetDefaultStackProtectorLevel (bool KernelOrKext) const override |
GetDefaultStackProtectorLevel - Get the default stack protector level for this tool chain (0=off, 1=on, 2=strong, 3=all). More... | |
void | CheckObjCARC () const override |
Complain if this tool chain doesn't support Objective-C ARC. More... | |
llvm::ExceptionHandling | GetExceptionModel (const llvm::opt::ArgList &Args) const override |
GetExceptionModel - Return the tool chain exception model. More... | |
bool | SupportsEmbeddedBitcode () const override |
SupportsEmbeddedBitcode - Does this tool chain support embedded bitcode. More... | |
SanitizerMask | getSupportedSanitizers () const override |
Return sanitizers which are available in this toolchain. More... | |
void | printVerboseInfo (raw_ostream &OS) const override |
Dispatch to the specific toolchain for verbose printing. More... | |
![]() | |
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. More... | |
bool | HasNativeLLVMSupport () const override |
HasNativeLTOLinker - Check whether the linker and related tools have native LLVM support. More... | |
bool | IsBlocksDefault () const override |
IsBlocksDefault - Does this tool chain enable -fblocks by default. More... | |
bool | IsIntegratedAssemblerDefault () const override |
IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default. More... | |
bool | IsMathErrnoDefault () const override |
IsMathErrnoDefault - Does this tool chain use -fmath-errno by default. More... | |
bool | IsEncodeExtendedBlockSignatureDefault () const override |
IsEncodeExtendedBlockSignatureDefault - Does this tool chain enable -fencode-extended-block-signature by default. More... | |
bool | IsObjCNonFragileABIDefault () const override |
IsObjCNonFragileABIDefault - Does this tool chain set -fobjc-nonfragile-abi by default. More... | |
bool | IsUnwindTablesDefault (const llvm::opt::ArgList &Args) const override |
IsUnwindTablesDefault - Does this tool chain use -funwind-tables by default. More... | |
RuntimeLibType | GetDefaultRuntimeLibType () const override |
GetDefaultRuntimeLibType - Get the default runtime library variant to use. More... | |
bool | isPICDefault () const override |
Test whether this toolchain defaults to PIC. More... | |
bool | isPIEDefault () const override |
Test whether this toolchain defaults to PIE. More... | |
bool | isPICDefaultForced () const override |
Tests whether this toolchain forces its default for PIC, PIE or non-PIC. More... | |
bool | SupportsProfiling () const override |
SupportsProfiling - Does this tool chain support -pg. More... | |
bool | UseDwarfDebugFlags () const override |
UseDwarfDebugFlags - Embed the compile options to clang into the Dwarf compile unit information. More... | |
StringRef | getMachOArchName (const llvm::opt::ArgList &Args) const |
Get the "MachO" arch name for a particular compiler invocation. More... | |
virtual void | AddLinkARCArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
Add the linker arguments to link the ARC runtime library. More... | |
virtual void | AddLinkRuntimeLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
Add the linker arguments to link the compiler runtime library. More... | |
bool | isTargetIOSBased () const |
Is the target either iOS or an iOS simulator? More... | |
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. More... | |
![]() | |
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. More... | |
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. More... | |
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. More... | |
std::string | getTripleString () const |
const llvm::Triple & | getEffectiveTriple () const |
Get the toolchain's effective clang triple. More... | |
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 Multilib & | getMultilib () const |
const SanitizerArgs & | getSanitizerArgs () const |
const XRayArgs & | getXRayArgs () const |
const llvm::opt::Arg * | getRTTIArg () const |
RTTIMode | getRTTIMode () 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. More... | |
virtual Tool * | SelectTool (const JobAction &JA) const |
Choose a tool to use to handle the action JA . More... | |
std::string | GetFilePath (const char *Name) const |
std::string | GetProgramPath (const char *Name) const |
std::string | GetLinkerPath () const |
Returns the linker path, respecting the -fuse-ld= argument to determine the linker suffix or name. More... | |
virtual bool | useIntegratedAs () const |
Check if the toolchain should use the integrated assembler. More... | |
virtual bool | useRelaxRelocations () const |
Check whether to enable x86 relax relocations by default. More... | |
virtual LangOptions::TrivialAutoVarInitKind | GetDefaultTrivialAutoVarInit () const |
Get the default trivial automatic variable initialization. More... | |
virtual const char * | getDefaultLinker () const |
GetDefaultLinker - Get the default linker to use. More... | |
virtual std::string | getCompilerRTPath () const |
virtual std::string | getCompilerRT (const llvm::opt::ArgList &Args, StringRef Component, bool Shared=false) const |
const char * | getCompilerRTArgString (const llvm::opt::ArgList &Args, StringRef Component, bool Shared=false) const |
std::string | getArchSpecificLibPath () const |
StringRef | getOSLibName () const |
virtual codegenoptions::DebugInfoFormat | getDefaultDebugFormat () const |
Get the default debug info format. Typically, this is DWARF. More... | |
virtual unsigned | GetDefaultDwarfVersion () 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. More... | |
virtual void | adjustDebugInfoKind (codegenoptions::DebugInfoKind &DebugInfoKind, const llvm::opt::ArgList &Args) const |
Adjust debug information kind considering all passed options. More... | |
virtual std::string | getThreadModel () const |
getThreadModel() - Which thread model does this target use? More... | |
virtual bool | isThreadModelSupported (const StringRef Model) const |
isThreadModelSupported() - Does this target support a thread model? More... | |
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. More... | |
virtual void | AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
Add the clang cc1 arguments for system include paths. More... | |
virtual void | addClangWarningOptions (llvm::opt::ArgStringList &CC1Args) const |
Add warning options that need to be passed to cc1 for this target. More... | |
virtual RuntimeLibType | GetRuntimeLibType (const llvm::opt::ArgList &Args) const |
virtual CXXStdlibType | GetCXXStdlibType (const llvm::opt::ArgList &Args) const |
virtual void | AddClangCXXStdlibIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set the include paths to use for the given C++ standard library type. More... | |
bool | ShouldLinkCXXStdlib (const llvm::opt::ArgList &Args) const |
Returns if the C++ standard library should be linked in. More... | |
virtual void | AddCXXStdlibLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
AddCXXStdlibLibArgs - Add the system specific linker arguments to use for the given C++ standard library type. More... | |
void | AddFilePathLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
AddFilePathLibArgs - Add each thing in getFilePaths() as a "-L" option. More... | |
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). More... | |
virtual 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. More... | |
virtual void | AddIAMCUIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
Add arguments to use MCU GCC toolchain includes. More... | |
virtual VersionTuple | computeMSVCVersion (const Driver *D, const llvm::opt::ArgList &Args) const |
On Windows, returns the MSVC compatibility version. More... | |
virtual SanitizerMask | getDefaultSanitizers () const |
Return sanitizers which are enabled by default. More... | |
Public Attributes | |
bool | TargetInitialized |
Whether the information on the target has been initialized. More... | |
DarwinPlatformKind | TargetPlatform |
DarwinEnvironmentKind | TargetEnvironment |
VersionTuple | TargetVersion |
The OS version we are targeting. More... | |
Optional< DarwinSDKInfo > | SDKInfo |
The information about the darwin SDK that was used. More... | |
CudaInstallationDetector | CudaInstallation |
Darwin specific Toolchain functions | |
{ | |
void | setTarget (DarwinPlatformKind Platform, DarwinEnvironmentKind Environment, unsigned Major, unsigned Minor, unsigned Micro) const |
bool | isTargetIPhoneOS () const |
bool | isTargetIOSSimulator () const |
bool | isTargetIOSBased () const |
bool | isTargetTvOS () const |
bool | isTargetTvOSSimulator () const |
bool | isTargetTvOSBased () const |
bool | isTargetWatchOS () const |
bool | isTargetWatchOSSimulator () const |
bool | isTargetWatchOSBased () const |
bool | isTargetMacOS () const |
bool | isTargetInitialized () const |
VersionTuple | getTargetVersion () const |
bool | isIPhoneOSVersionLT (unsigned V0, unsigned V1=0, unsigned V2=0) const |
bool | isMacosxVersionLT (unsigned V0, unsigned V1=0, unsigned V2=0) 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. More... | |
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. More... | |
StringRef | getPlatformFamily () const |
StringRef | getOSLibraryNameSuffix (bool IgnoreSim=false) const override |
static StringRef | getSDKName (StringRef isysroot) |
Additional Inherited Members | |
![]() | |
static ParsedClangName | getTargetAndModeFromProgramName (StringRef ProgName) |
Return any implicit target and/or mode flag for an invocation of the compiler driver as ProgName . More... | |
static bool | needsProfileRT (const llvm::opt::ArgList &Args) |
needsProfileRT - returns true if instrumentation profile is on. More... | |
static bool | needsGCovInstrumentation (const llvm::opt::ArgList &Args) |
Returns true if gcov instrumentation (-fprofile-arcs or –coverage) is on. More... | |
![]() | |
Tool * | buildAssembler () const override |
Tool * | buildLinker () const override |
Tool * | getTool (Action::ActionClass AC) const override |
![]() | |
ToolChain (const Driver &D, const llvm::Triple &T, const llvm::opt::ArgList &Args) | |
void | setTripleEnvironment (llvm::Triple::EnvironmentType Env) |
![]() | |
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. More... | |
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. More... | |
static void | addExternCSystemIncludeIfExists (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args, const Twine &Path) |
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. More... | |
![]() | |
MultilibSet | Multilibs |
Multilib | SelectedMultilib |
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 684 of file Darwin.cpp.
|
override |
Definition at line 800 of file Darwin.cpp.
|
overrideprotectedvirtual |
Add options that need to be passed to cc1 for this target.
Pass the SDK version to the compiler when the SDK information is available.
Reimplemented from clang::driver::ToolChain.
Definition at line 2094 of file Darwin.cpp.
References isAlignedAllocationUnavailable(), and SDKInfo.
|
overridevirtual |
Add arguments to use system-specific CUDA includes.
Reimplemented from clang::driver::ToolChain.
Definition at line 733 of file Darwin.cpp.
References clang::driver::CudaInstallationDetector::AddCudaIncludeArgs(), and CudaInstallation.
|
overridevirtual |
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 2233 of file Darwin.cpp.
References getTargetVersion(), isTargetIOSBased(), isTargetIOSSimulator(), isTargetMacOS(), isTargetTvOS(), isTargetTvOSSimulator(), isTargetWatchOS(), isTargetWatchOSSimulator(), and TargetVersion.
|
overridevirtual |
Add any profiling runtime libraries that are needed.
This is essentially a MachO specific version of addProfileRT in Tools.cpp.
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 1033 of file Darwin.cpp.
References addExportedSymbol(), clang::driver::toolchains::MachO::AddLinkRuntimeLib(), hasExportSymbolDirective(), clang::driver::ToolChain::needsGCovInstrumentation(), clang::driver::ToolChain::needsProfileRT(), clang::driver::toolchains::MachO::RLO_AddRPath, clang::driver::toolchains::MachO::RLO_AlwaysLink, and clang::driver::toolchains::MachO::RLO_FirstLink.
|
overridevirtual |
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 2257 of file Darwin.cpp.
References clang::driver::ToolChain::getArch(), clang::driver::ToolChain::GetFilePath(), isIPhoneOSVersionLT(), isMacosxVersionLT(), isTargetIOSSimulator(), isTargetIPhoneOS(), isTargetMacOS(), isTargetWatchOS(), isTargetWatchOSBased(), 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 2349 of file Darwin.cpp.
References clang::driver::Driver::Diag(), clang::driver::ToolChain::getDriver(), isMacosxVersionLT(), isTargetIOSBased(), isTargetMacOS(), and isTargetWatchOSBased().
|
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 -mmacosx-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 804 of file Darwin.cpp.
References clang::driver::ToolChain::ComputeLLVMTriple(), getTargetVersion(), isTargetInitialized(), isTargetIOSBased(), isTargetTvOSBased(), and isTargetWatchOSBased().
|
overridevirtual |
Reimplemented from clang::driver::ToolChain.
Definition at line 700 of file Darwin.cpp.
References clang::driver::ToolChain::CST_Libcxx, clang::driver::ToolChain::CST_Libstdcxx, isIPhoneOSVersionLT(), isMacosxVersionLT(), isTargetIOSBased(), isTargetMacOS(), and isTargetWatchOSBased().
|
overridevirtual |
Darwin provides an ARC runtime starting in MacOS X 10.7 and iOS 5.0.
Reimplemented from clang::driver::ToolChain.
Definition at line 711 of file Darwin.cpp.
References clang::ObjCRuntime::FragileMacOSX, clang::ObjCRuntime::iOS, isTargetIOSBased(), isTargetWatchOSBased(), clang::ObjCRuntime::MacOSX, TargetVersion, and clang::ObjCRuntime::WatchOS.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs().
|
inlineoverridevirtual |
GetDefaultStackProtectorLevel - Get the default stack protector level for this tool chain (0=off, 1=on, 2=strong, 3=all).
Reimplemented from clang::driver::ToolChain.
|
overridevirtual |
GetExceptionModel - Return the tool chain exception model.
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 2198 of file Darwin.cpp.
References clang::driver::ToolChain::ComputeLLVMTriple(), clang::driver::ToolChain::getArch(), clang::driver::ToolChain::getTriple(), and clang::XRayInstrKind::None.
Referenced by clang::driver::toolchains::MachO::IsUnwindTablesDefault().
Reimplemented from clang::driver::toolchains::MachO.
Definition at line 995 of file Darwin.cpp.
References NativeEnvironment, TargetEnvironment, and TargetPlatform.
Referenced by clang::driver::toolchains::MachO::AddLinkRuntimeLib().
|
protected |
Definition at line 968 of file Darwin.cpp.
References TargetPlatform.
|
static |
Definition at line 982 of file Darwin.cpp.
|
overridevirtual |
Return sanitizers which are available in this toolchain.
Reimplemented from clang::driver::ToolChain.
Definition at line 2356 of file Darwin.cpp.
References clang::driver::ToolChain::getSupportedSanitizers(), clang::driver::ToolChain::getTriple(), isIPhoneOSVersionLT(), isMacosxVersionLT(), isTargetIOSSimulator(), isTargetIPhoneOS(), isTargetMacOS(), and isTargetTvOSSimulator().
|
inlineprotected |
Definition at line 404 of file Darwin.h.
Referenced by addMinVersionArgs(), 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 722 of file Darwin.cpp.
References isIPhoneOSVersionLT(), isMacosxVersionLT(), isTargetIOSBased(), isTargetMacOS(), and isTargetWatchOSBased().
|
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 2073 of file Darwin.cpp.
References clang::alignedAllocMinVersion(), IPhoneOS, MacOS, TargetPlatform, TargetVersion, TvOS, and WatchOS.
Referenced by addClangTargetOptions().
|
inlineoverridevirtual |
Returns true if the toolchain is targeting a non-native architecture.
Reimplemented from clang::driver::ToolChain.
|
inlineprotected |
Definition at line 409 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), addStartObjectFileArgs(), GetDefaultCXXStdlibType(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), getSupportedSanitizers(), hasBlocksRuntime(), 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.
|
inlineprotected |
Definition at line 415 of file Darwin.h.
Referenced by addStartObjectFileArgs(), CheckObjCARC(), GetDefaultCXXStdlibType(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), getSupportedSanitizers(), and hasBlocksRuntime().
|
inlineprotected |
Definition at line 402 of file Darwin.h.
Referenced by ComputeEffectiveClangTriple().
|
inlineprotected |
Definition at line 362 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), addMinVersionArgs(), CheckObjCARC(), ComputeEffectiveClangTriple(), GetDefaultCXXStdlibType(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), getDefaultObjCRuntime(), hasBlocksRuntime(), and TranslateArgs().
|
inlineprotected |
Definition at line 356 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), clang::driver::toolchains::DarwinClang::AddLinkRuntimeLibArgs(), addMinVersionArgs(), addStartObjectFileArgs(), and getSupportedSanitizers().
|
inlineprotected |
Definition at line 350 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::AddCCKextLibArgs(), clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), addStartObjectFileArgs(), getSupportedSanitizers(), and SupportsEmbeddedBitcode().
|
inlineprotected |
Definition at line 397 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::addClangWarningOptions(), clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), addMinVersionArgs(), addStartObjectFileArgs(), CheckObjCARC(), GetDefaultCXXStdlibType(), clang::driver::toolchains::DarwinClang::GetDefaultDwarfVersion(), getSupportedSanitizers(), and hasBlocksRuntime().
|
inlineprotected |
Definition at line 367 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::AddCCKextLibArgs(), clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), and addMinVersionArgs().
|
inlineprotected |
Definition at line 377 of file Darwin.h.
Referenced by ComputeEffectiveClangTriple().
|
inlineprotected |
Definition at line 372 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), addMinVersionArgs(), and getSupportedSanitizers().
|
inlineprotected |
Definition at line 382 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::AddCCKextLibArgs(), clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), addMinVersionArgs(), and addStartObjectFileArgs().
|
inlineprotected |
Definition at line 392 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::addClangWarningOptions(), addStartObjectFileArgs(), CheckObjCARC(), ComputeEffectiveClangTriple(), GetDefaultCXXStdlibType(), getDefaultObjCRuntime(), hasBlocksRuntime(), and TranslateArgs().
|
inlineprotected |
Definition at line 387 of file Darwin.h.
Referenced by clang::driver::toolchains::DarwinClang::AddLinkARCArgs(), and addMinVersionArgs().
|
overridevirtual |
Dispatch to the specific toolchain for verbose printing.
This is used when handling the verbose option to print detailed, toolchain-specific information useful for understanding the behavior of the driver on a specific platform.
Reimplemented from clang::driver::ToolChain.
Definition at line 2382 of file Darwin.cpp.
References CudaInstallation, and clang::driver::CudaInstallationDetector::print().
|
inlineprotected |
|
overridevirtual |
SupportsEmbeddedBitcode - Does this tool chain support embedded bitcode.
Reimplemented from clang::driver::ToolChain.
Definition at line 2212 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::toolchains::MachO.
Definition at line 2115 of file Darwin.cpp.
References clang::driver::ToolChain::CST_Libcxx, clang::driver::Driver::Diag(), clang::driver::tools::darwin::getArchTypeForMachOArchName(), clang::driver::ToolChain::GetCXXStdlibType(), clang::driver::ToolChain::getDriver(), clang::driver::Driver::getOpts(), isIPhoneOSVersionLT(), isTargetIOSBased(), isTargetWatchOSBased(), and clang::driver::toolchains::MachO::TranslateArgs().
|
inlineoverridevirtual |
UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the mixed dispatch method be used?
Reimplemented from clang::driver::toolchains::MachO.
CudaInstallationDetector clang::driver::toolchains::Darwin::CudaInstallation |
Definition at line 295 of file Darwin.h.
Referenced by AddCudaIncludeArgs(), and printVerboseInfo().
|
mutable |
The information about the darwin SDK that was used.
Definition at line 293 of file Darwin.h.
Referenced by addClangTargetOptions().
|
mutable |
Definition at line 287 of file Darwin.h.
Referenced by getOSLibraryNameSuffix().
|
mutable |
Whether the information on the target has been initialized.
Definition at line 272 of file Darwin.h.
Referenced by SupportsEmbeddedBitcode().
|
mutable |
Definition at line 286 of file Darwin.h.
Referenced by getOSLibraryNameSuffix(), getPlatformFamily(), and isAlignedAllocationUnavailable().
|
mutable |
The OS version we are targeting.
Definition at line 290 of file Darwin.h.
Referenced by addMinVersionArgs(), getDefaultObjCRuntime(), and isAlignedAllocationUnavailable().