Don't forward declare environ on Windows

That seems to interact poorly with the environ and _environ macros
defined in MSVC's <stdlib.h>.

Also remove the incorrect comment about _NSGetEnviron().

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180200 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/unittests/Support/ProgramTest.cpp b/unittests/Support/ProgramTest.cpp
index 80b0334..279e2e8 100755
--- a/unittests/Support/ProgramTest.cpp
+++ b/unittests/Support/ProgramTest.cpp
@@ -13,9 +13,9 @@
 #include "gtest/gtest.h"
 
 #include <stdlib.h>
-#ifdef __APPLE__
+#if defined(__APPLE__)
 # include <crt_externs.h>
-#else
+#elif !defined(_MSC_VER)
 // Forward declare environ in case it's not provided by stdlib.h.
 extern char **environ;
 #endif
@@ -32,8 +32,6 @@
 
 static void CopyEnvironment(std::vector<const char *> &out) {
 #ifdef __APPLE__
-  // _NSGetEnviron() only works from the main exe on Mac.  Fortunately the test
-  // should be in the executable.
   char **envp = *_NSGetEnviron();
 #else
   // environ seems to work for Windows and most other Unices.