Add llvm::sys::{osName,osVersion} for retrieving operating system name
& version as strings.
 - Win32 code is untested.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56942 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/System/Win32/Host.inc b/lib/System/Win32/Host.inc
new file mode 100644
index 0000000..f105b38
--- /dev/null
+++ b/lib/System/Win32/Host.inc
@@ -0,0 +1,35 @@
+//===- llvm/System/Win32/Host.inc -------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file implements the Win32 Host support.
+//
+//===----------------------------------------------------------------------===//
+
+#include "Win32.h"
+#include <cstdio>
+#include <string>
+
+using namespace llvm;
+
+std::string sys::osName() {
+  return "Windows";
+}
+
+std::string sys::osVersion() {
+  OSVERSIONINFO osvi = { 0 };
+  osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
+
+  if (!GetVersionEx(&osvi))
+    return "";
+  
+  char buf[64];
+  sprintf(buf, "%d.%d", osvi.dwMajorVersion, osvi.dwMinorVersion);
+
+  return buf;  
+}