clang/GlobalModuleIndex: Don't open the same file twice. Use raw_fd_ostream(fd, ...
authorNAKAMURA Takumi <geek4civic@gmail.com>
Thu, 24 Jan 2013 08:20:11 +0000 (08:20 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Thu, 24 Jan 2013 08:20:11 +0000 (08:20 +0000)
FIXME: PathV2::unique_file() is assumed to open the file with binary mode on win32.
llvm-svn: 173330

clang/lib/Serialization/GlobalModuleIndex.cpp
clang/test/Modules/global_index.m

index 3b60979..1600e35 100644 (file)
@@ -507,9 +507,7 @@ GlobalModuleIndex::writeIndex(FileManager &FileMgr, StringRef Path) {
     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;
 
index 2af18c4..423e111 100644 (file)
@@ -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;