Fix possible test breakage for MinGW

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@267968 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/support/platform_support.h b/test/support/platform_support.h
index f5981d1..f4c2247 100644
--- a/test/support/platform_support.h
+++ b/test/support/platform_support.h
@@ -67,16 +67,17 @@
 
 #ifndef __CloudABI__
 inline
-std::string
-get_temp_file_name()
+std::string get_temp_file_name()
 {
-#if defined(_WIN32) || defined(__MINGW32__)
+#if defined(__MINGW32__)
+    char Path[MAX_PATH + 1];
+    char FN[MAX_PATH + 1];
+    do { } while (0 == GetTempPath(MAX_PATH+1, Path));
+    do { } while (0 == GetTempFileName(Path, "libcxx", 0, FN));
+    return FN;
+#elif defined(_WIN32)
     char Name[] = "libcxx.XXXXXX";
-
-    if (_mktemp_s(Name, sizeof(Name)) != 0) {
-        abort();
-    }
-
+    if (_mktemp_s(Name, sizeof(Name)) != 0) abort();
     return Name;
 #else
     std::string Name;