Driver: Add host info (add new files).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66603 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Driver/HostInfo.cpp b/lib/Driver/HostInfo.cpp
new file mode 100644
index 0000000..3ae0c38
--- /dev/null
+++ b/lib/Driver/HostInfo.cpp
@@ -0,0 +1,61 @@
+//===--- HostInfo.cpp - Host specific information -----------------------*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "clang/Driver/HostInfo.h"
+ 
+using namespace clang::driver;
+
+HostInfo::HostInfo(const char *_Arch, const char *_Platform,
+                   const char *_OS) 
+  : Arch(_Arch), Platform(_Platform), OS(_OS) 
+{
+  
+}
+
+HostInfo::~HostInfo() {
+}
+
+// Darwin Host Info
+
+DarwinHostInfo::DarwinHostInfo(const char *Arch, const char *Platform,
+                               const char *OS) 
+  : HostInfo(Arch, Platform, OS) {
+
+  // FIXME: How to deal with errors?
+  
+  // We can only call 4.2.1 for now.
+  GCCVersion[0] = 4;
+  GCCVersion[1] = 2;
+  GCCVersion[2] = 1;
+}
+
+bool DarwinHostInfo::useDriverDriver() const { 
+  return true;
+}
+
+ToolChain *DarwinHostInfo::getToolChain(const ArgList &Args, 
+                                        const char *ArchName) const {
+  return 0;
+}
+
+// Unknown Host Info
+
+UnknownHostInfo::UnknownHostInfo(const char *Arch, const char *Platform,
+                               const char *OS) 
+  : HostInfo(Arch, Platform, OS) {
+}
+
+bool UnknownHostInfo::useDriverDriver() const { 
+  return false;
+}
+
+ToolChain *UnknownHostInfo::getToolChain(const ArgList &Args, 
+                                         const char *ArchName) const {
+  return 0;
+}