diff options
Diffstat (limited to 'clang/lib/Driver/ToolChains.h')
-rw-r--r-- | clang/lib/Driver/ToolChains.h | 282 |
1 files changed, 141 insertions, 141 deletions
diff --git a/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h index cba764e0bf4..d9499e04b3f 100644 --- a/clang/lib/Driver/ToolChains.h +++ b/clang/lib/Driver/ToolChains.h @@ -161,18 +161,18 @@ public: const llvm::opt::ArgList &Args); ~Generic_GCC(); - virtual void printVerboseInfo(raw_ostream &OS) const; + void printVerboseInfo(raw_ostream &OS) const override; - virtual bool IsUnwindTablesDefault() const; - virtual bool isPICDefault() const; - virtual bool isPIEDefault() const; - virtual bool isPICDefaultForced() const; - virtual bool IsIntegratedAssemblerDefault() const; + bool IsUnwindTablesDefault() const override; + bool isPICDefault() const override; + bool isPIEDefault() const override; + bool isPICDefaultForced() const override; + bool IsIntegratedAssemblerDefault() const override; protected: - virtual Tool *getTool(Action::ActionClass AC) const; - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *getTool(Action::ActionClass AC) const override; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; /// \name ToolChain Implementation Helper Functions /// @{ @@ -192,9 +192,9 @@ private: class LLVM_LIBRARY_VISIBILITY MachO : public ToolChain { protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; - virtual Tool *getTool(Action::ActionClass AC) const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; + Tool *getTool(Action::ActionClass AC) const override; private: mutable std::unique_ptr<tools::darwin::Lipo> Lipo; mutable std::unique_ptr<tools::darwin::Dsymutil> Dsymutil; @@ -250,62 +250,62 @@ public: /// { std::string ComputeEffectiveClangTriple(const llvm::opt::ArgList &Args, - types::ID InputType) const; + types::ID InputType) const override; - virtual types::ID LookupTypeForExtension(const char *Ext) const; + types::ID LookupTypeForExtension(const char *Ext) const override; - virtual bool HasNativeLLVMSupport() const; + bool HasNativeLLVMSupport() const override; - virtual llvm::opt::DerivedArgList * + llvm::opt::DerivedArgList * TranslateArgs(const llvm::opt::DerivedArgList &Args, - const char *BoundArch) const; + const char *BoundArch) const override; - virtual bool IsBlocksDefault() const { + bool IsBlocksDefault() const override { // Always allow blocks on Apple; users interested in versioning are // expected to use /usr/include/Blocks.h. return true; } - virtual bool IsIntegratedAssemblerDefault() const { + bool IsIntegratedAssemblerDefault() const override { // Default integrated assembler to on for Apple's MachO targets. return true; } - virtual bool IsMathErrnoDefault() const { + bool IsMathErrnoDefault() const override { return false; } - virtual bool IsEncodeExtendedBlockSignatureDefault() const { + bool IsEncodeExtendedBlockSignatureDefault() const override { return true; } - virtual bool IsObjCNonFragileABIDefault() const { + bool IsObjCNonFragileABIDefault() const override { // Non-fragile ABI is default for everything but i386. return getTriple().getArch() != llvm::Triple::x86; } - virtual bool UseObjCMixedDispatch() const { + bool UseObjCMixedDispatch() const override { return true; } - virtual bool IsUnwindTablesDefault() const; + bool IsUnwindTablesDefault() const override; - virtual RuntimeLibType GetDefaultRuntimeLibType() const { + RuntimeLibType GetDefaultRuntimeLibType() const override { return ToolChain::RLT_CompilerRT; } - virtual bool isPICDefault() const; - virtual bool isPIEDefault() const; - virtual bool isPICDefaultForced() const; + bool isPICDefault() const override; + bool isPIEDefault() const override; + bool isPICDefaultForced() const override; - virtual bool SupportsProfiling() const; + bool SupportsProfiling() const override; - virtual bool SupportsObjCGC() const { + bool SupportsObjCGC() const override { return false; } - virtual bool UseDwarfDebugFlags() const; + bool UseDwarfDebugFlags() const override; - virtual bool UseSjLjExceptions() const { + bool UseSjLjExceptions() const override { return false; } @@ -354,20 +354,20 @@ public: ~Darwin(); std::string ComputeEffectiveClangTriple(const llvm::opt::ArgList &Args, - types::ID InputType) const; + types::ID InputType) const override; /// @name Apple Specific Toolchain Implementation /// { - virtual void + void addMinVersionArgs(const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; - virtual void + void addStartObjectFileArgs(const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; - virtual bool isKernelStatic() const { + bool isKernelStatic() const override { return !isTargetIPhoneOS() || isIPhoneOSVersionLT(6, 0); } @@ -433,21 +433,21 @@ public: /// @name ToolChain Implementation /// { - virtual llvm::opt::DerivedArgList * + llvm::opt::DerivedArgList * TranslateArgs(const llvm::opt::DerivedArgList &Args, - const char *BoundArch) const; + const char *BoundArch) const override; - virtual ObjCRuntime getDefaultObjCRuntime(bool isNonFragile) const; - virtual bool hasBlocksRuntime() const; + ObjCRuntime getDefaultObjCRuntime(bool isNonFragile) const override; + bool hasBlocksRuntime() const override; - virtual bool UseObjCMixedDispatch() const { + bool UseObjCMixedDispatch() const override { // This is only used with the non-fragile ABI and non-legacy dispatch. // Mixed dispatch is used everywhere except OS X before 10.6. return !(isTargetMacOS() && isMacosxVersionLT(10, 6)); } - virtual unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const { + unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const override { // Stack protectors default to on for user code on 10.5, // and for everything in 10.6 and beyond if (isTargetIOSBased()) @@ -460,11 +460,11 @@ public: return 0; } - virtual bool SupportsObjCGC() const; + bool SupportsObjCGC() const override; - virtual void CheckObjCARC() const; + void CheckObjCARC() const override; - virtual bool UseSjLjExceptions() const; + bool UseSjLjExceptions() const override; }; /// DarwinClang - The Darwin toolchain used by Clang. @@ -476,19 +476,19 @@ public: /// @name Apple ToolChain Implementation /// { - virtual void + void AddLinkRuntimeLibArgs(const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; - virtual void + void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; - virtual void + void AddCCKextLibArgs(const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; - virtual void + void AddLinkARCArgs(const llvm::opt::ArgList &Args, llvm::opt::ArgStringList &CmdArgs) const override; /// } @@ -501,8 +501,8 @@ public: const llvm::opt::ArgList &Args) : Generic_GCC(D, Triple, Args) {} - virtual void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; + void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; }; class LLVM_LIBRARY_VISIBILITY AuroraUX : public Generic_GCC { @@ -511,8 +511,8 @@ public: const llvm::opt::ArgList &Args); protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; }; class LLVM_LIBRARY_VISIBILITY Solaris : public Generic_GCC { @@ -520,10 +520,10 @@ public: Solaris(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); - virtual bool IsIntegratedAssemblerDefault() const { return true; } + bool IsIntegratedAssemblerDefault() const override { return true; } protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; }; @@ -533,17 +533,17 @@ public: OpenBSD(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); - virtual bool IsMathErrnoDefault() const { return false; } - virtual bool IsObjCNonFragileABIDefault() const { return true; } - virtual bool isPIEDefault() const { return true; } + bool IsMathErrnoDefault() const override { return false; } + bool IsObjCNonFragileABIDefault() const override { return true; } + bool isPIEDefault() const override { return true; } - virtual unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const { + unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const override { return 1; } protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; }; class LLVM_LIBRARY_VISIBILITY Bitrig : public Generic_ELF { @@ -551,49 +551,49 @@ public: Bitrig(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); - virtual bool IsMathErrnoDefault() const { return false; } - virtual bool IsObjCNonFragileABIDefault() const { return true; } + bool IsMathErrnoDefault() const override { return false; } + bool IsObjCNonFragileABIDefault() const override { return true; } virtual bool IsObjCLegacyDispatchDefault() const { return false; } - virtual void + void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, - llvm::opt::ArgStringList &CmdArgs) const; - virtual unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const { + llvm::opt::ArgStringList &CC1Args) const override; + void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, + llvm::opt::ArgStringList &CmdArgs) const override; + unsigned GetDefaultStackProtectorLevel(bool KernelOrKext) const override { return 1; } protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; }; class LLVM_LIBRARY_VISIBILITY FreeBSD : public Generic_ELF { public: FreeBSD(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); - virtual bool HasNativeLLVMSupport() const; + bool HasNativeLLVMSupport() const override; - virtual bool IsMathErrnoDefault() const { return false; } - virtual bool IsObjCNonFragileABIDefault() const { return true; } + bool IsMathErrnoDefault() const override { return false; } + bool IsObjCNonFragileABIDefault() const override { return true; } - virtual CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const; - virtual void + CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; + void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual bool IsIntegratedAssemblerDefault() const { + llvm::opt::ArgStringList &CC1Args) const override; + bool IsIntegratedAssemblerDefault() const override { if (getTriple().getArch() == llvm::Triple::ppc || getTriple().getArch() == llvm::Triple::ppc64) return true; return Generic_ELF::IsIntegratedAssemblerDefault(); } - virtual bool UseSjLjExceptions() const; - virtual bool isPIEDefault() const; + bool UseSjLjExceptions() const override; + bool isPIEDefault() const override; protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; }; class LLVM_LIBRARY_VISIBILITY NetBSD : public Generic_ELF { @@ -601,26 +601,26 @@ public: NetBSD(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); - virtual bool IsMathErrnoDefault() const { return false; } - virtual bool IsObjCNonFragileABIDefault() const { return true; } + bool IsMathErrnoDefault() const override { return false; } + bool IsObjCNonFragileABIDefault() const override { return true; } - virtual CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const; + CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; - virtual void + void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual bool IsUnwindTablesDefault() const { + llvm::opt::ArgStringList &CC1Args) const override; + bool IsUnwindTablesDefault() const override { return true; } - virtual bool IsIntegratedAssemblerDefault() const { + bool IsIntegratedAssemblerDefault() const override { if (getTriple().getArch() == llvm::Triple::ppc) return true; return Generic_ELF::IsIntegratedAssemblerDefault(); } protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; }; class LLVM_LIBRARY_VISIBILITY Minix : public Generic_ELF { @@ -629,8 +629,8 @@ public: const llvm::opt::ArgList &Args); protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; }; class LLVM_LIBRARY_VISIBILITY DragonFly : public Generic_ELF { @@ -638,11 +638,11 @@ public: DragonFly(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); - virtual bool IsMathErrnoDefault() const { return false; } + bool IsMathErrnoDefault() const override { return false; } protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; }; class LLVM_LIBRARY_VISIBILITY Linux : public Generic_ELF { @@ -650,22 +650,22 @@ public: Linux(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); - virtual bool HasNativeLLVMSupport() const; + bool HasNativeLLVMSupport() const override; - virtual void + void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual void + llvm::opt::ArgStringList &CC1Args) const override; + void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual bool isPIEDefault() const; + llvm::opt::ArgStringList &CC1Args) const override; + bool isPIEDefault() const override; std::string Linker; std::vector<std::string> ExtraOpts; protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; private: static bool addLibStdCXXIncludePaths(Twine Base, Twine Suffix, @@ -682,21 +682,21 @@ private: class LLVM_LIBRARY_VISIBILITY Hexagon_TC : public Linux { protected: GCCVersion GCCLibAndIncVersion; - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; public: Hexagon_TC(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); ~Hexagon_TC(); - virtual void + void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual void + llvm::opt::ArgStringList &CC1Args) const override; + void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const; + llvm::opt::ArgStringList &CC1Args) const override; + CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; StringRef GetGCCLibAndIncVersion() const { return GCCLibAndIncVersion.Text; } @@ -713,10 +713,10 @@ public: const llvm::opt::ArgList &Args); ~TCEToolChain(); - bool IsMathErrnoDefault() const; - bool isPICDefault() const; - bool isPIEDefault() const; - bool isPICDefaultForced() const; + bool IsMathErrnoDefault() const override; + bool isPICDefault() const override; + bool isPIEDefault() const override; + bool isPICDefaultForced() const override; }; class LLVM_LIBRARY_VISIBILITY Windows : public ToolChain { @@ -724,22 +724,22 @@ public: Windows(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); - virtual bool IsIntegratedAssemblerDefault() const; - virtual bool IsUnwindTablesDefault() const; - virtual bool isPICDefault() const; - virtual bool isPIEDefault() const; - virtual bool isPICDefaultForced() const; + bool IsIntegratedAssemblerDefault() const override; + bool IsUnwindTablesDefault() const override; + bool isPICDefault() const override; + bool isPIEDefault() const override; + bool isPICDefaultForced() const override; - virtual void + void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual void + llvm::opt::ArgStringList &CC1Args) const override; + void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; + llvm::opt::ArgStringList &CC1Args) const override; protected: - virtual Tool *buildLinker() const; - virtual Tool *buildAssembler() const; + Tool *buildLinker() const override; + Tool *buildAssembler() const override; }; @@ -748,22 +748,22 @@ public: XCore(const Driver &D, const llvm::Triple &Triple, const llvm::opt::ArgList &Args); protected: - virtual Tool *buildAssembler() const; - virtual Tool *buildLinker() const; + Tool *buildAssembler() const override; + Tool *buildLinker() const override; public: - virtual bool isPICDefault() const; - virtual bool isPIEDefault() const; - virtual bool isPICDefaultForced() const; - virtual bool SupportsProfiling() const; - virtual bool hasBlocksRuntime() const; - virtual void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, - llvm::opt::ArgStringList &CC1Args) const; - virtual void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, - llvm::opt::ArgStringList &CmdArgs) const; + bool isPICDefault() const override; + bool isPIEDefault() const override; + bool isPICDefaultForced() const override; + bool SupportsProfiling() const override; + bool hasBlocksRuntime() const override; + void AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + void AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, + llvm::opt::ArgStringList &CC1Args) const override; + void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, + llvm::opt::ArgStringList &CmdArgs) const override; }; } // end namespace toolchains |