Open output file correctly. This is extremely important for
windows-based hosts, where files are opened in text mode by default.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44533 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Bitcode/Writer/BitWriter.cpp b/lib/Bitcode/Writer/BitWriter.cpp
index aadd878..f35b807 100644
--- a/lib/Bitcode/Writer/BitWriter.cpp
+++ b/lib/Bitcode/Writer/BitWriter.cpp
@@ -36,7 +36,7 @@
 // non-GCC. Some C++ stdlibs even have ofstream::ofstream(int fd).
 int LLVMWriteBitcodeToFileHandle(LLVMModuleRef M, int FileHandle) {
   __gnu_cxx::stdio_filebuf<char> Buffer(FileHandle, std::ios_base::out);
-  std::ostream OS(&Buffer);
+  std::ostream OS(&Buffer, std::ios::out | std::ios::trunc | std::ios::binary);
   
   if (!OS.fail())
     WriteBitcodeToFile(unwrap(M), OS);