|
clang
5.0.0
|
Public Member Functions | |
| HexagonToolChain (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
| ~HexagonToolChain () 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. More... | |
| void | AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
| Add the clang cc1 arguments for system include paths. More... | |
| void | addLibStdCxxIncludePaths (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
| CXXStdlibType | GetCXXStdlibType (const llvm::opt::ArgList &Args) const override |
| StringRef | GetGCCLibAndIncVersion () const |
| bool | IsIntegratedAssemblerDefault () const override |
| IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default. More... | |
| std::string | getHexagonTargetDir (const std::string &InstalledDir, const SmallVectorImpl< std::string > &PrefixDirs) const |
| Hexagon Toolchain. More... | |
| void | getHexagonLibraryPaths (const llvm::opt::ArgList &Args, ToolChain::path_list &LibPaths) const |
Public Member Functions inherited from clang::driver::toolchains::Linux | |
| Linux (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
| bool | HasNativeLLVMSupport () const override |
| HasNativeLTOLinker - Check whether the linker and related tools have native LLVM support. More... | |
| void | AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
| Add the clang cc1 arguments for system include paths. More... | |
| std::string | findLibCxxIncludePath () const override |
| void | addLibStdCxxIncludePaths (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
| void | AddCudaIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
| Add arguments to use system-specific CUDA includes. More... | |
| void | AddIAMCUIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
| Add arguments to use MCU GCC toolchain includes. More... | |
| bool | isPIEDefault () const override |
| Test whether this toolchain defaults to PIE. More... | |
| SanitizerMask | getSupportedSanitizers () const override |
| Return sanitizers which are available in this toolchain. More... | |
| 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. More... | |
| virtual std::string | computeSysRoot () const |
| virtual std::string | getDynamicLinker (const llvm::opt::ArgList &Args) const |
Public Member Functions inherited from clang::driver::toolchains::Generic_ELF | |
| Generic_ELF (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
Public Member Functions inherited from clang::driver::toolchains::Generic_GCC | |
| Generic_GCC (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
| ~Generic_GCC () override | |
| void | printVerboseInfo (raw_ostream &OS) const override |
| Dispatch to the specific toolchain for verbose printing. More... | |
| bool | IsUnwindTablesDefault (const llvm::opt::ArgList &Args) const override |
| IsUnwindTablesDefault - Does this tool chain use -funwind-tables by default. More... | |
| bool | isPICDefault () const override |
| Test whether this toolchain defaults to PIC. More... | |
| bool | isPICDefaultForced () const override |
| Tests whether this toolchain forces its default for PIC, PIE or non-PIC. 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... | |
Public Member Functions inherited from clang::driver::ToolChain | |
| virtual | ~ToolChain () |
| const Driver & | getDriver () const |
| 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... | |
| 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 & | getFilePaths () |
| const path_list & | getFilePaths () const |
| path_list & | getProgramPaths () |
| const path_list & | getProgramPaths () const |
| const MultilibSet & | getMultilibs () const |
| const SanitizerArgs & | getSanitizerArgs () const |
| const XRayArgs & | getXRayArgs () const |
| const llvm::opt::Arg * | getRTTIArg () const |
| RTTIMode | getRTTIMode () const |
| 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 | isCrossCompiling () const |
| Returns true if the toolchain is targeting a non-native architecture. More... | |
| virtual types::ID | LookupTypeForExtension (StringRef Ext) const |
| LookupTypeForExtension - Return the default language type to use for the given extension. More... | |
| virtual bool | IsBlocksDefault () const |
| IsBlocksDefault - Does this tool chain enable -fblocks by default. More... | |
| virtual bool | useIntegratedAs () const |
| Check if the toolchain should use the integrated assembler. More... | |
| virtual bool | IsMathErrnoDefault () const |
| IsMathErrnoDefault - Does this tool chain use -fmath-errno by default. More... | |
| virtual bool | IsEncodeExtendedBlockSignatureDefault () const |
| IsEncodeExtendedBlockSignatureDefault - Does this tool chain enable -fencode-extended-block-signature by default. More... | |
| virtual bool | IsObjCNonFragileABIDefault () const |
| IsObjCNonFragileABIDefault - Does this tool chain set -fobjc-nonfragile-abi by default. More... | |
| virtual bool | UseObjCMixedDispatch () const |
| UseObjCMixedDispatchDefault - When using non-legacy dispatch, should the mixed dispatch method be used? More... | |
| virtual unsigned | GetDefaultStackProtectorLevel (bool KernelOrKext) const |
| GetDefaultStackProtectorLevel - Get the default stack protector level for this tool chain (0=off, 1=on, 2=strong, 3=all). More... | |
| virtual const char * | getDefaultLinker () const |
| GetDefaultLinker - Get the default linker to use. More... | |
| virtual RuntimeLibType | GetDefaultRuntimeLibType () const |
| GetDefaultRuntimeLibType - Get the default runtime library variant to use. More... | |
| virtual CXXStdlibType | GetDefaultCXXStdlibType () 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 |
| virtual bool | SupportsProfiling () const |
| SupportsProfiling - Does this tool chain support -pg. More... | |
| virtual bool | SupportsObjCGC () const |
| Does this tool chain support Objective-C garbage collection. More... | |
| virtual void | CheckObjCARC () const |
| Complain if this tool chain doesn't support Objective-C ARC. More... | |
| virtual bool | UseDwarfDebugFlags () const |
| UseDwarfDebugFlags - Embed the compile options to clang into the Dwarf compile unit information. More... | |
| virtual unsigned | GetDefaultDwarfVersion () const |
| virtual bool | GetDefaultStandaloneDebug () const |
| virtual llvm::DebuggerKind | getDefaultDebuggerTuning () const |
| virtual bool | UseSjLjExceptions (const llvm::opt::ArgList &Args) const |
| UseSjLjExceptions - Does this tool chain use SjLj exceptions. More... | |
| virtual bool | SupportsEmbeddedBitcode () const |
| SupportsEmbeddedBitcode - Does this tool chain support embedded bitcode. 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 std::string | ComputeEffectiveClangTriple (const llvm::opt::ArgList &Args, types::ID InputType=types::TY_INVALID) const |
| ComputeEffectiveClangTriple - Return the Clang triple to use for this target, which may take into account the command line arguments. More... | |
| virtual ObjCRuntime | getDefaultObjCRuntime (bool isNonFragile) const |
| getDefaultObjCRuntime - Return the default Objective-C runtime for this platform. More... | |
| virtual bool | hasBlocksRuntime () const |
| hasBlocksRuntime - Given that the user is compiling with -fblocks, does this tool chain guarantee the existence of a blocks runtime? 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 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 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... | |
Static Public Member Functions | |
| static const StringRef | GetDefaultCPU () |
| static const StringRef | GetTargetCPUVersion (const llvm::opt::ArgList &Args) |
| static Optional< unsigned > | getSmallDataThreshold (const llvm::opt::ArgList &Args) |
Static Public Member Functions inherited from clang::driver::ToolChain | |
| static std::pair< std::string, std::string > | 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... | |
Protected Member Functions | |
| Tool * | buildAssembler () const override |
| Tool * | buildLinker () const override |
| unsigned | getOptimizationLevel (const llvm::opt::ArgList &DriverArgs) const |
Protected Member Functions inherited from clang::driver::toolchains::Linux | |
| Tool * | buildAssembler () const override |
| Tool * | buildLinker () const override |
Protected Member Functions inherited from clang::driver::toolchains::Generic_GCC | |
| Tool * | getTool (Action::ActionClass AC) const override |
| bool | isTarget64Bit () const |
| Check whether the target triple's architecture is 64-bits. More... | |
| bool | isTarget32Bit () const |
| Check whether the target triple's architecture is 32-bits. More... | |
| 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. More... | |
| bool | addLibStdCXXIncludePaths (Twine Base, Twine Suffix, StringRef GCCTriple, StringRef GCCMultiarchTriple, StringRef TargetMultiarchTriple, Twine IncludeSuffix, const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const |
| Helper to add the variant paths of a libstdc++ installation. More... | |
Protected Member Functions inherited from clang::driver::ToolChain | |
| ToolChain (const Driver &D, const llvm::Triple &T, const llvm::opt::ArgList &Args) | |
Protected Attributes | |
| GCCVersion | GCCLibAndIncVersion |
Protected Attributes inherited from clang::driver::toolchains::Generic_GCC | |
| GCCInstallationDetector | GCCInstallation |
| CudaInstallationDetector | CudaInstallation |
Protected Attributes inherited from clang::driver::ToolChain | |
| MultilibSet | Multilibs |
Additional Inherited Members | |
Public Types inherited from clang::driver::ToolChain | |
| enum | CXXStdlibType { CST_Libcxx, CST_Libstdcxx } |
| enum | RuntimeLibType { RLT_CompilerRT, RLT_Libgcc } |
| enum | RTTIMode { RM_EnabledExplicitly, RM_EnabledImplicitly, RM_DisabledExplicitly, RM_DisabledImplicitly } |
| typedef SmallVector < std::string, 16 > | path_list |
Public Attributes inherited from clang::driver::toolchains::Linux | |
| std::vector< std::string > | ExtraOpts |
Static Protected 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. 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... | |
| HexagonToolChain::HexagonToolChain | ( | const Driver & | D, |
| const llvm::Triple & | Triple, | ||
| const llvm::opt::ArgList & | Args | ||
| ) |
Definition at line 374 of file Hexagon.cpp.
References clang::vfs::FileSystem::exists(), clang::driver::ToolChain::getFilePaths(), getHexagonLibraryPaths(), getHexagonTargetDir(), clang::driver::Driver::getInstalledDir(), clang::driver::ToolChain::getProgramPaths(), clang::driver::Driver::getVFS(), and clang::driver::Driver::PrefixDirs.
|
override |
Definition at line 395 of file Hexagon.cpp.
|
overridevirtual |
Add the clang cc1 arguments for system include paths.
This routine is responsible for adding the necessary cc1 arguments to include headers from standard system header directories.
Reimplemented from clang::driver::ToolChain.
Definition at line 440 of file Hexagon.cpp.
References clang::driver::ToolChain::addExternCSystemInclude(), clang::driver::ToolChain::getDriver(), getHexagonTargetDir(), clang::driver::Driver::getInstalledDir(), and clang::driver::Driver::PrefixDirs.
|
overridevirtual |
Add options that need to be passed to cc1 for this target.
Reimplemented from clang::driver::toolchains::Generic_ELF.
Definition at line 430 of file Hexagon.cpp.
References getOptimizationLevel().
|
overridevirtual |
Reimplemented from clang::driver::toolchains::Generic_GCC.
Definition at line 453 of file Hexagon.cpp.
References clang::driver::toolchains::Generic_GCC::addLibStdCXXIncludePaths(), clang::driver::ToolChain::getDriver(), getHexagonTargetDir(), clang::driver::Driver::InstalledDir, and clang::driver::Driver::PrefixDirs.
|
overrideprotectedvirtual |
Reimplemented from clang::driver::toolchains::Generic_GCC.
Definition at line 397 of file Hexagon.cpp.
|
overrideprotectedvirtual |
Reimplemented from clang::driver::toolchains::Generic_GCC.
Definition at line 401 of file Hexagon.cpp.
|
overridevirtual |
Reimplemented from clang::driver::ToolChain.
Definition at line 463 of file Hexagon.cpp.
References clang::driver::ToolChain::CST_Libstdcxx, clang::driver::Driver::Diag(), and clang::driver::ToolChain::getDriver().
|
static |
Definition at line 479 of file Hexagon.cpp.
Referenced by GetTargetCPUVersion().
|
inline |
| void HexagonToolChain::getHexagonLibraryPaths | ( | const llvm::opt::ArgList & | Args, |
| ToolChain::path_list & | LibPaths | ||
| ) | const |
Definition at line 331 of file Hexagon.cpp.
References clang::driver::Driver::getInstalledDir(), and clang::driver::Driver::PrefixDirs.
Referenced by HexagonToolChain().
| std::string HexagonToolChain::getHexagonTargetDir | ( | const std::string & | InstalledDir, |
| const SmallVectorImpl< std::string > & | PrefixDirs | ||
| ) | const |
Hexagon Toolchain.
Definition at line 297 of file Hexagon.cpp.
References clang::vfs::FileSystem::exists(), clang::driver::Driver::getVFS(), and I.
Referenced by AddClangSystemIncludeArgs(), addLibStdCxxIncludePaths(), constructHexagonLinkArgs(), and HexagonToolChain().
|
protected |
|
static |
Definition at line 314 of file Hexagon.cpp.
References clang::None.
Referenced by constructHexagonLinkArgs(), and clang::driver::tools::hexagon::Assembler::ConstructJob().
|
static |
Definition at line 483 of file Hexagon.cpp.
References GetDefaultCPU().
Referenced by constructHexagonLinkArgs(), and clang::driver::tools::hexagon::Assembler::ConstructJob().
|
inlineoverridevirtual |
IsIntegratedAssemblerDefault - Does this tool chain enable -integrated-as by default.
Reimplemented from clang::driver::toolchains::Generic_GCC.
|
protected |
1.8.6