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
/// @{
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;
/// {
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;
}
~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);
}
/// @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())
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.
/// @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;
/// }
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 {
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 {
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;
};
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 {
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 {
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 {
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 {
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 {
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,
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; }
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 {
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;
};
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
public:
Clang(const ToolChain &TC) : Tool("clang", "clang frontend", TC) {}
- virtual bool hasGoodDiagnostics() const { return true; }
- virtual bool hasIntegratedAssembler() const { return true; }
- virtual bool hasIntegratedCPP() const { return true; }
+ bool hasGoodDiagnostics() const override { return true; }
+ bool hasIntegratedAssembler() const override { return true; }
+ bool hasIntegratedCPP() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
/// \brief Clang integrated assembler tool.
ClangAs(const ToolChain &TC) : Tool("clang::as",
"clang integrated assembler", TC) {}
- virtual bool hasGoodDiagnostics() const { return true; }
- virtual bool hasIntegratedAssembler() const { return false; }
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasGoodDiagnostics() const override { return true; }
+ bool hasIntegratedAssembler() const override { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
/// gcc - Generic GCC tool implementations.
Common(const char *Name, const char *ShortName,
const ToolChain &TC) : Tool(Name, ShortName, TC) {}
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output,
+ const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
/// RenderExtraToolArgs - Render any arguments necessary to force
/// the particular tool mode.
Preprocess(const ToolChain &TC) : Common("gcc::Preprocess",
"gcc preprocessor", TC) {}
- virtual bool hasGoodDiagnostics() const { return true; }
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasGoodDiagnostics() const override { return true; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void RenderExtraToolArgs(const JobAction &JA,
- llvm::opt::ArgStringList &CmdArgs) const;
+ void RenderExtraToolArgs(const JobAction &JA,
+ llvm::opt::ArgStringList &CmdArgs) const override;
};
class LLVM_LIBRARY_VISIBILITY Compile : public Common {
Compile(const ToolChain &TC) : Common("gcc::Compile",
"gcc frontend", TC) {}
- virtual bool hasGoodDiagnostics() const { return true; }
- virtual bool hasIntegratedCPP() const { return true; }
+ bool hasGoodDiagnostics() const override { return true; }
+ bool hasIntegratedCPP() const override { return true; }
- virtual void RenderExtraToolArgs(const JobAction &JA,
- llvm::opt::ArgStringList &CmdArgs) const;
+ void RenderExtraToolArgs(const JobAction &JA,
+ llvm::opt::ArgStringList &CmdArgs) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Common {
Link(const ToolChain &TC) : Common("gcc::Link",
"linker (via gcc)", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void RenderExtraToolArgs(const JobAction &JA,
- llvm::opt::ArgStringList &CmdArgs) const;
+ void RenderExtraToolArgs(const JobAction &JA,
+ llvm::opt::ArgStringList &CmdArgs) const override;
};
} // end namespace gcc
Assemble(const ToolChain &TC) : Tool("hexagon::Assemble",
"hexagon-as", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
virtual void RenderExtraToolArgs(const JobAction &JA,
llvm::opt::ArgStringList &CmdArgs) const;
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
Link(const ToolChain &TC) : Tool("hexagon::Link",
"hexagon-ld", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
virtual void RenderExtraToolArgs(const JobAction &JA,
llvm::opt::ArgStringList &CmdArgs) const;
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace hexagon.
Assemble(const ToolChain &TC) : MachOTool("darwin::Assemble",
"assembler", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public MachOTool {
public:
Link(const ToolChain &TC) : MachOTool("darwin::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Lipo : public MachOTool {
public:
Lipo(const ToolChain &TC) : MachOTool("darwin::Lipo", "lipo", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Dsymutil : public MachOTool {
Dsymutil(const ToolChain &TC) : MachOTool("darwin::Dsymutil",
"dsymutil", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isDsymutilJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isDsymutilJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output,
+ const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY VerifyDebug : public MachOTool {
VerifyDebug(const ToolChain &TC) : MachOTool("darwin::VerifyDebug",
"dwarfdump", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
}
Assemble(const ToolChain &TC) : Tool("openbsd::Assemble", "assembler",
TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output,
+ const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
public:
Link(const ToolChain &TC) : Tool("openbsd::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace openbsd
Assemble(const ToolChain &TC) : Tool("bitrig::Assemble", "assembler",
TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
public:
Link(const ToolChain &TC) : Tool("bitrig::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace bitrig
Assemble(const ToolChain &TC) : Tool("freebsd::Assemble", "assembler",
TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
public:
Link(const ToolChain &TC) : Tool("freebsd::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace freebsd
Assemble(const ToolChain &TC)
: Tool("netbsd::Assemble", "assembler", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
Link(const ToolChain &TC)
: Tool("netbsd::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace netbsd
public:
Assemble(const ToolChain &TC) : Tool("GNU::Assemble", "assembler", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output,
+ const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
public:
Link(const ToolChain &TC) : Tool("GNU::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output,
+ const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
}
/// minix -- Directly call GNU Binutils assembler and linker
Assemble(const ToolChain &TC) : Tool("minix::Assemble", "assembler",
TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output,
+ const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
public:
Link(const ToolChain &TC) : Tool("minix::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output,
+ const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace minix
Assemble(const ToolChain &TC) : Tool("solaris::Assemble", "assembler",
TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
public:
Link(const ToolChain &TC) : Tool("solaris::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace solaris
Assemble(const ToolChain &TC) : Tool("auroraux::Assemble", "assembler",
TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
public:
Link(const ToolChain &TC) : Tool("auroraux::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace auroraux
Assemble(const ToolChain &TC) : Tool("dragonfly::Assemble", "assembler",
TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
+ bool hasIntegratedCPP() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
public:
Link(const ToolChain &TC) : Tool("dragonfly::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output,
+ const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace dragonfly
public:
Link(const ToolChain &TC) : Tool("visualstudio::Link", "linker", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Compile : public Tool {
public:
Compile(const ToolChain &TC) : Tool("visualstudio::Compile", "compiler", TC) {}
- virtual bool hasIntegratedAssembler() const { return true; }
- virtual bool hasIntegratedCPP() const { return true; }
- virtual bool isLinkJob() const { return false; }
+ bool hasIntegratedAssembler() const override { return true; }
+ bool hasIntegratedCPP() const override { return true; }
+ bool isLinkJob() const override { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
Command *GetCommand(Compilation &C, const JobAction &JA,
const InputInfo &Output,
Assemble(const ToolChain &TC) : Tool("XCore::Assemble",
"XCore-as", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ bool hasIntegratedCPP() const override { return false; }
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
class LLVM_LIBRARY_VISIBILITY Link : public Tool {
Link(const ToolChain &TC) : Tool("XCore::Link",
"XCore-ld", TC) {}
- virtual bool hasIntegratedCPP() const { return false; }
- virtual bool isLinkJob() const { return true; }
- virtual void ConstructJob(Compilation &C, const JobAction &JA,
- const InputInfo &Output,
- const InputInfoList &Inputs,
- const llvm::opt::ArgList &TCArgs,
- const char *LinkingOutput) const;
+ bool hasIntegratedCPP() const override { return false; }
+ bool isLinkJob() const override { return true; }
+ void ConstructJob(Compilation &C, const JobAction &JA,
+ const InputInfo &Output, const InputInfoList &Inputs,
+ const llvm::opt::ArgList &TCArgs,
+ const char *LinkingOutput) const override;
};
} // end namespace XCore.