diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-03-17 20:45:45 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-03-17 20:45:45 +0000 |
commit | e504952bc89f79fc9ff54d5641ab30bb07ec435e (patch) | |
tree | e65dbf05e8e0a2feb0a94700c941063a90e4deb5 /lib/Driver/HostInfo.cpp | |
parent | ec504fdfef7d4983f76b90c6bb28e438ab2ffbb7 (diff) |
Driver: Pass Driver reference down into Host info, which will need it
to pass to ToolChains, which may need Driver specific information (for
example, to form search paths).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67102 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Driver/HostInfo.cpp')
-rw-r--r-- | lib/Driver/HostInfo.cpp | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/lib/Driver/HostInfo.cpp b/lib/Driver/HostInfo.cpp index 5069bda3ed..9e8213876c 100644 --- a/lib/Driver/HostInfo.cpp +++ b/lib/Driver/HostInfo.cpp @@ -21,9 +21,9 @@ using namespace clang::driver; -HostInfo::HostInfo(const char *_Arch, const char *_Platform, +HostInfo::HostInfo(const Driver &D, const char *_Arch, const char *_Platform, const char *_OS) - : Arch(_Arch), Platform(_Platform), OS(_OS) + : TheDriver(D), Arch(_Arch), Platform(_Platform), OS(_OS) { } @@ -47,7 +47,8 @@ class DarwinHostInfo : public HostInfo { mutable llvm::StringMap<ToolChain*> ToolChains; public: - DarwinHostInfo(const char *Arch, const char *Platform, const char *OS); + DarwinHostInfo(const Driver &D, const char *Arch, + const char *Platform, const char *OS); virtual bool useDriverDriver() const; @@ -55,9 +56,9 @@ public: const char *ArchName) const; }; -DarwinHostInfo::DarwinHostInfo(const char *_Arch, const char *_Platform, - const char *_OS) - : HostInfo(_Arch, _Platform, _OS) { +DarwinHostInfo::DarwinHostInfo(const Driver &D, const char *_Arch, + const char *_Platform, const char *_OS) + : HostInfo(D, _Arch, _Platform, _OS) { assert((getArchName() == "i386" || getArchName() == "x86_64" || getArchName() == "ppc" || getArchName() == "ppc64") && @@ -118,7 +119,8 @@ class UnknownHostInfo : public HostInfo { mutable llvm::StringMap<ToolChain*> ToolChains; public: - UnknownHostInfo(const char *Arch, const char *Platform, const char *OS); + UnknownHostInfo(const Driver &D, const char *Arch, + const char *Platform, const char *OS); virtual bool useDriverDriver() const; @@ -126,9 +128,9 @@ public: const char *ArchName) const; }; -UnknownHostInfo::UnknownHostInfo(const char *Arch, const char *Platform, - const char *OS) - : HostInfo(Arch, Platform, OS) { +UnknownHostInfo::UnknownHostInfo(const Driver &D, const char *Arch, + const char *Platform, const char *OS) + : HostInfo(D, Arch, Platform, OS) { } bool UnknownHostInfo::useDriverDriver() const { @@ -161,14 +163,16 @@ ToolChain *UnknownHostInfo::getToolChain(const ArgList &Args, } -const HostInfo *clang::driver::createDarwinHostInfo(const char *Arch, +const HostInfo *clang::driver::createDarwinHostInfo(const Driver &D, + const char *Arch, const char *Platform, const char *OS) { - return new DarwinHostInfo(Arch, Platform, OS); + return new DarwinHostInfo(D, Arch, Platform, OS); } -const HostInfo *clang::driver::createUnknownHostInfo(const char *Arch, +const HostInfo *clang::driver::createUnknownHostInfo(const Driver &D, + const char *Arch, const char *Platform, const char *OS) { - return new UnknownHostInfo(Arch, Platform, OS); + return new UnknownHostInfo(D, Arch, Platform, OS); } |