Fix get_temp_file_name() to compile on Windows. Patch from STL@microsoft.com

llvm-svn: 267963
This commit is contained in:
Eric Fiselier 2016-04-29 00:51:24 +00:00
parent a643eb7ec0
commit 903f1ab93a
1 changed files with 8 additions and 6 deletions

View File

@ -53,7 +53,7 @@
#include <stdlib.h>
#include <string>
#if defined(_WIN32) || defined(__MINGW32__)
#include <io.h> // _mktemp
#include <io.h> // _mktemp_s
#else
#include <unistd.h> // close
#endif
@ -71,11 +71,13 @@ std::string
get_temp_file_name()
{
#if defined(_WIN32) || 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;
char Name[] = "libcxx.XXXXXX";
if (_mktemp_s(Name, sizeof(Name)) != 0) {
abort();
}
return Name;
#else
std::string Name;
int FD = -1;