diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-03-20 00:57:52 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-03-20 00:57:52 +0000 |
commit | 8eddb3fb6ff3dd20e3920380e1ce56df105b8a98 (patch) | |
tree | 52ea613b23416515b3ef750b7ba80521847f1a6d /lib/Driver/ToolChains.h | |
parent | ff7488dc9a766f94daf54d81b03ab9160d0bfd88 (diff) |
Driver: Sketch Darwin tool chains.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67356 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/ToolChains.h')
-rw-r--r-- | lib/Driver/ToolChains.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h index e3347cbd28..9e196e02f2 100644 --- a/lib/Driver/ToolChains.h +++ b/lib/Driver/ToolChains.h @@ -43,6 +43,34 @@ public: virtual const char *GetForcedPicModel() const; }; + /// Darwin_X86 - Darwin tool chain for i386 an x86_64. +class VISIBILITY_HIDDEN Darwin_X86 : public ToolChain { + mutable llvm::DenseMap<unsigned, Tool*> Tools; + +public: + Darwin_X86(const HostInfo &Host, const char *Arch, const char *Platform, + const char *OS) : ToolChain(Host, Arch, Platform, OS) {} + ~Darwin_X86(); + + virtual ArgList *TranslateArgs(ArgList &Args) const; + + virtual Tool &SelectTool(const Compilation &C, const JobAction &JA) const; + + virtual bool IsMathErrnoDefault() const; + virtual bool IsUnwindTablesDefault() const; + virtual const char *GetDefaultRelocationModel() const; + virtual const char *GetForcedPicModel() const; +}; + + /// Darwin_GCC - Generic Darwin tool chain using gcc. +class VISIBILITY_HIDDEN Darwin_GCC : public Generic_GCC { +public: + Darwin_GCC(const HostInfo &Host, const char *Arch, const char *Platform, + const char *OS) : Generic_GCC(Host, Arch, Platform, OS) {} + + virtual const char *GetDefaultRelocationModel() const { return "pic"; } +}; + } // end namespace toolchains } // end namespace driver } // end namespace clang |