diff options
Diffstat (limited to 'lib/Driver/ToolChains.h')
-rw-r--r-- | lib/Driver/ToolChains.h | 49 |
1 files changed, 32 insertions, 17 deletions
diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h index 071a36774d..7a39f9ae42 100644 --- a/lib/Driver/ToolChains.h +++ b/lib/Driver/ToolChains.h @@ -119,7 +119,8 @@ protected: mutable llvm::DenseMap<unsigned, Tool*> Tools; public: - Generic_GCC(const Driver &D, const llvm::Triple& Triple); + Generic_GCC(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); ~Generic_GCC(); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, @@ -150,7 +151,8 @@ protected: mutable llvm::DenseMap<unsigned, Tool*> Tools; public: - Hexagon_TC(const Driver &D, const llvm::Triple& Triple); + Hexagon_TC(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); ~Hexagon_TC(); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, @@ -212,7 +214,8 @@ private: void AddDeploymentTarget(DerivedArgList &Args) const; public: - Darwin(const Driver &D, const llvm::Triple& Triple); + Darwin(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); ~Darwin(); std::string ComputeEffectiveClangTriple(const ArgList &Args, @@ -395,7 +398,8 @@ private: void AddGCCLibexecPath(unsigned darwinVersion); public: - DarwinClang(const Driver &D, const llvm::Triple& Triple); + DarwinClang(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); /// @name Darwin ToolChain Implementation /// { @@ -422,8 +426,9 @@ public: /// Darwin_Generic_GCC - Generic Darwin tool chain using gcc. class LLVM_LIBRARY_VISIBILITY Darwin_Generic_GCC : public Generic_GCC { public: - Darwin_Generic_GCC(const Driver &D, const llvm::Triple& Triple) - : Generic_GCC(D, Triple) {} + Darwin_Generic_GCC(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple) + : Generic_GCC(D, Triple, UserTriple) {} std::string ComputeEffectiveClangTriple(const ArgList &Args, types::ID InputType) const; @@ -434,8 +439,9 @@ public: class LLVM_LIBRARY_VISIBILITY Generic_ELF : public Generic_GCC { virtual void anchor(); public: - Generic_ELF(const Driver &D, const llvm::Triple& Triple) - : Generic_GCC(D, Triple) {} + Generic_ELF(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple) + : Generic_GCC(D, Triple, UserTriple) {} virtual bool IsIntegratedAssemblerDefault() const { // Default integrated assembler to on for x86. @@ -446,7 +452,8 @@ public: class LLVM_LIBRARY_VISIBILITY AuroraUX : public Generic_GCC { public: - AuroraUX(const Driver &D, const llvm::Triple& Triple); + AuroraUX(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, const ActionList &Inputs) const; @@ -454,7 +461,8 @@ public: class LLVM_LIBRARY_VISIBILITY OpenBSD : public Generic_ELF { public: - OpenBSD(const Driver &D, const llvm::Triple& Triple); + OpenBSD(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, const ActionList &Inputs) const; @@ -462,7 +470,8 @@ public: class LLVM_LIBRARY_VISIBILITY FreeBSD : public Generic_ELF { public: - FreeBSD(const Driver &D, const llvm::Triple& Triple); + FreeBSD(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, const ActionList &Inputs) const; @@ -470,7 +479,8 @@ public: class LLVM_LIBRARY_VISIBILITY NetBSD : public Generic_ELF { public: - NetBSD(const Driver &D, const llvm::Triple& Triple); + NetBSD(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, const ActionList &Inputs) const; @@ -478,7 +488,8 @@ public: class LLVM_LIBRARY_VISIBILITY Minix : public Generic_ELF { public: - Minix(const Driver &D, const llvm::Triple& Triple); + Minix(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, const ActionList &Inputs) const; @@ -486,7 +497,8 @@ public: class LLVM_LIBRARY_VISIBILITY DragonFly : public Generic_ELF { public: - DragonFly(const Driver &D, const llvm::Triple& Triple); + DragonFly(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, const ActionList &Inputs) const; @@ -494,7 +506,8 @@ public: class LLVM_LIBRARY_VISIBILITY Linux : public Generic_ELF { public: - Linux(const Driver &D, const llvm::Triple& Triple); + Linux(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); virtual bool HasNativeLLVMSupport() const; @@ -520,7 +533,8 @@ private: /// all subcommands. See http://tce.cs.tut.fi for our peculiar target. class LLVM_LIBRARY_VISIBILITY TCEToolChain : public ToolChain { public: - TCEToolChain(const Driver &D, const llvm::Triple& Triple); + TCEToolChain(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); ~TCEToolChain(); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, @@ -539,7 +553,8 @@ class LLVM_LIBRARY_VISIBILITY Windows : public ToolChain { mutable llvm::DenseMap<unsigned, Tool*> Tools; public: - Windows(const Driver &D, const llvm::Triple& Triple); + Windows(const Driver &D, const llvm::Triple& Triple, + const std::string &UserTriple); virtual Tool &SelectTool(const Compilation &C, const JobAction &JA, const ActionList &Inputs) const; |