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;