Driver: Pass HostInfo reference into ToolChain.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67105 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/ToolChain.cpp b/lib/Driver/ToolChain.cpp
index ff4e97b..ea2528b 100644
--- a/lib/Driver/ToolChain.cpp
+++ b/lib/Driver/ToolChain.cpp
@@ -11,12 +11,13 @@
 
 #include "clang/Driver/Action.h"
 #include "clang/Driver/Driver.h"
+#include "clang/Driver/HostInfo.h"
 
 using namespace clang::driver;
 
-ToolChain::ToolChain(Driver &_TheDriver, const char *_Arch, 
+ToolChain::ToolChain(const HostInfo &_Host, const char *_Arch, 
                      const char *_Platform, const char *_OS) 
-  : TheDriver(_TheDriver), Arch(_Arch), Platform(_Platform), OS(_OS) {
+  : Host(_Host), Arch(_Arch), Platform(_Platform), OS(_OS) {
 }
 
 ToolChain::~ToolChain() {
@@ -24,38 +25,38 @@
 
 llvm::sys::Path ToolChain::GetFilePath(const Compilation &C, 
                                        const char *Name) const {
-  return TheDriver.GetFilePath(Name, this);
+  return Host.getDriver().GetFilePath(Name, this);
   
 }
 
 llvm::sys::Path ToolChain::GetProgramPath(const Compilation &C, 
                                           const char *Name) const {
-  return TheDriver.GetProgramPath(Name, this);
+  return Host.getDriver().GetProgramPath(Name, this);
 }
 
 bool ToolChain::ShouldUseClangCompiler(const Compilation &C, 
                                        const JobAction &JA) const {
   // Check if user requested no clang, or clang doesn't understand
   // this type (we only handle single inputs for now).
-  if (TheDriver.CCCNoClang || JA.size() != 1 || 
+  if (Host.getDriver().CCCNoClang || JA.size() != 1 || 
       !types::isAcceptedByClang((*JA.begin())->getType()))
     return false;
 
   // Otherwise make sure this is an action clang undertands.
   if (isa<PreprocessJobAction>(JA)) {
-    if (TheDriver.CCCNoClangCPP)
+    if (Host.getDriver().CCCNoClangCPP)
       return false;
   } else if (!isa<PrecompileJobAction>(JA) && !isa<CompileJobAction>(JA))
     return false;
 
   // Avoid CXX if the user requested.
-  if (TheDriver.CCCNoClangCXX && types::isCXX((*JA.begin())->getType()))
+  if (Host.getDriver().CCCNoClangCXX && types::isCXX((*JA.begin())->getType()))
     return false;
 
   // Finally, don't use clang if this isn't one of the user specified
   // archs to build.
-  if (!TheDriver.CCCClangArchs.empty() && 
-      TheDriver.CCCClangArchs.count(getArchName()))
+  if (!Host.getDriver().CCCClangArchs.empty() && 
+      Host.getDriver().CCCClangArchs.count(getArchName()))
     return false;
 
   return true;