]> granicus.if.org Git - clang/commitdiff
[libclang] When there's a file error when saving the PCH, make sure to
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 13 Mar 2012 02:17:06 +0000 (02:17 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 13 Mar 2012 02:17:06 +0000 (02:17 +0000)
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

lib/Frontend/ASTUnit.cpp

index 7514d8adc38691341ba01114da00615a77e255d9..25c8ab89b7222e578de699526723ac98f63db6f1 100644 (file)
@@ -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;