From: Argyrios Kyrtzidis Date: Tue, 13 Mar 2012 02:17:06 +0000 (+0000) Subject: [libclang] When there's a file error when saving the PCH, make sure to X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4bd265468cb115efd5c87c59d5a5b6af5d24d48c;p=clang [libclang] When there's a file error when saving the PCH, make sure to clear the error from raw_fd_ostream, otherwise we will crash. rdar://10976410 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152605 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Frontend/ASTUnit.cpp b/lib/Frontend/ASTUnit.cpp index 7514d8adc3..25c8ab89b7 100644 --- a/lib/Frontend/ASTUnit.cpp +++ b/lib/Frontend/ASTUnit.cpp @@ -2411,8 +2411,10 @@ CXSaveError ASTUnit::Save(StringRef File) { serialize(Out); Out.close(); - if (Out.has_error()) + if (Out.has_error()) { + Out.clear_error(); return CXSaveError_Unknown; + } if (llvm::sys::fs::rename(TempPath.str(), File)) { bool exists;