From: Francois Pichet Date: Tue, 12 Oct 2010 01:01:43 +0000 (+0000) Subject: This patch remove the Win32 XFAIL from remap-complete.c X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c44fe4bf2962bfcb323e93a63ba4a72d67839cde;p=clang This patch remove the Win32 XFAIL from remap-complete.c The problem was that text files were open in text mode and Microsoft implementation of fread and write will try to do nasty line-feed conversion which make the line position no longer valid. The fix is to read and write files in binary mode. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116286 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/c-index-test/c-index-test.c b/tools/c-index-test/c-index-test.c index 773c009321..84ceab2e66 100644 --- a/tools/c-index-test/c-index-test.c +++ b/tools/c-index-test/c-index-test.c @@ -109,7 +109,7 @@ int parse_remapped_files(int argc, const char **argv, int start_arg, } /* Open the file that we're remapping to. */ - to_file = fopen(semi + 1, "r"); + to_file = fopen(semi + 1, "rb"); if (!to_file) { fprintf(stderr, "error: cannot open file %s that we are remapping to\n", semi + 1); diff --git a/tools/libclang/CIndexer.cpp b/tools/libclang/CIndexer.cpp index b328d5cd22..baaeab3d0d 100644 --- a/tools/libclang/CIndexer.cpp +++ b/tools/libclang/CIndexer.cpp @@ -107,7 +107,8 @@ bool clang::RemapFiles(unsigned num_unsaved_files, return true; std::string ErrorInfo; - llvm::raw_fd_ostream OS(SavedFile.c_str(), ErrorInfo); + llvm::raw_fd_ostream OS(SavedFile.c_str(), ErrorInfo, + llvm::raw_fd_ostream::F_Binary); if (!ErrorInfo.empty()) return true;