clang/GlobalModuleIndex: Don't open the same file twice. Use raw_fd_ostream(fd, ...) instead.
FIXME: PathV2::unique_file() is assumed to open the file with binary mode on win32.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173330 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Serialization/GlobalModuleIndex.cpp b/lib/Serialization/GlobalModuleIndex.cpp
index 3b60979..1600e35 100644
--- a/lib/Serialization/GlobalModuleIndex.cpp
+++ b/lib/Serialization/GlobalModuleIndex.cpp
@@ -507,9 +507,7 @@
return EC_IOError;
// Open the temporary global index file for output.
- std::string ErrorInfo;
- llvm::raw_fd_ostream Out(IndexTmpPath.c_str(), ErrorInfo,
- llvm::raw_fd_ostream::F_Binary);
+ llvm::raw_fd_ostream Out(TmpFD, true);
if (Out.has_error())
return EC_IOError;
diff --git a/test/Modules/global_index.m b/test/Modules/global_index.m
index 2af18c4..423e111 100644
--- a/test/Modules/global_index.m
+++ b/test/Modules/global_index.m
@@ -1,8 +1,6 @@
// RUN: rm -rf %t
// RUN: %clang_cc1 -Wauto-import -fmodule-cache-path %t -fdisable-module-hash -fmodules -generate-module-index -F %S/Inputs %s -verify
// RUN: ls %t|grep modules.idx
-// REQUIRES: shell
-// XFAIL: mingw32
// expected-no-diagnostics
@import DependsOnModule;