clang
3.7.0
|
#include <ToolChains.h>
Public Member Functions | |
Hexagon_TC (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
~Hexagon_TC () override | |
void | AddClangSystemIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
Add the clang cc1 arguments for system include paths. More... | |
void | AddClangCXXStdlibIncludeArgs (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
CXXStdlibType | GetCXXStdlibType (const llvm::opt::ArgList &Args) const override |
StringRef | GetGCCLibAndIncVersion () const |
![]() | |
Linux (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
bool | HasNativeLLVMSupport () const override |
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... | |
![]() | |
Generic_ELF (const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args) | |
void | addClangTargetOptions (const llvm::opt::ArgList &DriverArgs, llvm::opt::ArgStringList &CC1Args) const override |
Add options that need to be passed to cc1 for this target. More... | |
![]() | |
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 override |
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. If this returns true, any PIC related flags should be ignored and instead the results of isPICDefault() and isPIEDefault() are used exclusively. More... | |
bool | IsIntegratedAssemblerDefault () const override |
![]() | |
virtual | ~ToolChain () |
const Driver & | getDriver () const |
const llvm::Triple & | getTriple () const |
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. Note t. More... | |
std::string | getTripleString () const |
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 llvm::opt::Arg * | getRTTIArg () const |
RTTIMode | getRTTIMode () const |
virtual llvm::opt::DerivedArgList * | TranslateArgs (const llvm::opt::DerivedArgList &Args, const char *BoundArch) const |
virtual Tool * | SelectTool (const JobAction &JA) const |
std::string | GetFilePath (const char *Name) const |
std::string | GetProgramPath (const char *Name) const |
std::string | GetLinkerPath () const |
virtual bool | isCrossCompiling () const |
Returns true if the toolchain is targeting a non-native architecture. More... | |
virtual types::ID | LookupTypeForExtension (const char *Ext) const |
virtual bool | IsBlocksDefault () const |
IsBlocksDefault - Does this tool chain enable -fblocks by default. More... | |
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 |
virtual bool | IsObjCNonFragileABIDefault () const |
virtual bool | UseObjCMixedDispatch () const |
virtual unsigned | GetDefaultStackProtectorLevel (bool KernelOrKext) const |
virtual RuntimeLibType | GetDefaultRuntimeLibType () const |
GetDefaultRuntimeLibType - Get the default runtime library variant to use. More... | |
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 |
virtual bool | UseSjLjExceptions () const |
UseSjLjExceptions - Does this tool chain use SjLj exceptions. 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 |
virtual std::string | ComputeEffectiveClangTriple (const llvm::opt::ArgList &Args, types::ID InputType=types::TY_INVALID) const |
virtual ObjCRuntime | getDefaultObjCRuntime (bool isNonFragile) const |
virtual bool | hasBlocksRuntime () const |
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 |
virtual void | AddCCKextLibArgs (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
virtual bool | AddFastMathRuntimeIfAvailable (const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const |
Static Public Member Functions | |
static std::string | GetGnuDir (const std::string &InstalledDir, const llvm::opt::ArgList &Args) |
Hexagon Toolchain. More... | |
static StringRef | GetTargetCPU (const llvm::opt::ArgList &Args) |
static const char * | GetSmallDataThreshold (const llvm::opt::ArgList &Args) |
static bool | UsesG0 (const char *smallDataThreshold) |
Protected Member Functions | |
Tool * | buildAssembler () const override |
Tool * | buildLinker () const override |
![]() | |
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... | |
![]() | |
ToolChain (const Driver &D, const llvm::Triple &T, const llvm::opt::ArgList &Args) | |
Protected Attributes | |
GCCVersion | GCCLibAndIncVersion |
![]() | |
GCCInstallationDetector | GCCInstallation |
![]() | |
MultilibSet | Multilibs |
Additional Inherited Members | |
![]() | |
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 |
![]() | |
std::string | Linker |
std::vector< std::string > | ExtraOpts |
![]() | |
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... | |
Definition at line 716 of file ToolChains.h.
Hexagon_TC::Hexagon_TC | ( | const Driver & | D, |
const llvm::Triple & | Triple, | ||
const llvm::opt::ArgList & | Args | ||
) |
Definition at line 2161 of file ToolChains.cpp.
References GCCLibAndIncVersion, clang::driver::ToolChain::getDriver(), clang::driver::ToolChain::getFilePaths(), GetGCCLibAndIncVersion(), GetGnuDir(), GetHexagonLibraryPaths(), clang::driver::ToolChain::getProgramPaths(), GetTargetCPU(), and clang::driver::toolchains::Generic_GCC::GCCVersion::Parse().
|
override |
Definition at line 2196 of file ToolChains.cpp.
|
overridevirtual |
AddClangCXXStdlibIncludeArgs - Add the clang -cc1 level arguments to set the include paths to use for the given C++ standard library type.
Reimplemented from clang::driver::toolchains::Linux.
Definition at line 2222 of file ToolChains.cpp.
References clang::driver::ToolChain::addSystemInclude(), clang::driver::ToolChain::getDriver(), GetGCCLibAndIncVersion(), GetGnuDir(), and clang::driver::Driver::InstalledDir.
|
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::toolchains::Linux.
Definition at line 2206 of file ToolChains.cpp.
References clang::driver::ToolChain::addExternCSystemInclude(), clang::driver::ToolChain::getDriver(), GetGCCLibAndIncVersion(), GetGnuDir(), and clang::driver::Driver::InstalledDir.
|
overrideprotectedvirtual |
Reimplemented from clang::driver::toolchains::Linux.
Definition at line 2198 of file ToolChains.cpp.
|
overrideprotectedvirtual |
Reimplemented from clang::driver::toolchains::Linux.
Definition at line 2202 of file ToolChains.cpp.
|
overridevirtual |
Reimplemented from clang::driver::ToolChain.
Definition at line 2240 of file ToolChains.cpp.
References clang::driver::ToolChain::CST_Libstdcxx, clang::driver::Driver::Diag(), and clang::driver::ToolChain::getDriver().
|
inline |
Definition at line 735 of file ToolChains.h.
Referenced by AddClangCXXStdlibIncludeArgs(), AddClangSystemIncludeArgs(), and Hexagon_TC().
|
static |
Hexagon Toolchain.
Definition at line 2078 of file ToolChains.cpp.
References getGCCToolchainDir().
Referenced by AddClangCXXStdlibIncludeArgs(), AddClangSystemIncludeArgs(), constructHexagonLinkArgs(), GetHexagonLibraryPaths(), and Hexagon_TC().
|
static |
Definition at line 2098 of file ToolChains.cpp.
Referenced by constructHexagonLinkArgs(), and clang::driver::tools::hexagon::Assembler::ConstructJob().
|
static |
Definition at line 2276 of file ToolChains.cpp.
References getHexagonVersion().
Referenced by constructHexagonLinkArgs(), clang::driver::tools::hexagon::Assembler::ConstructJob(), getCPUName(), and Hexagon_TC().
|
static |
Definition at line 2114 of file ToolChains.cpp.
Referenced by constructHexagonLinkArgs().
|
protected |
Definition at line 718 of file ToolChains.h.
Referenced by Hexagon_TC().