[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
This commit is contained in:
Argyrios Kyrtzidis 2012-03-13 02:17:06 +00:00
Родитель 23dde82d90
Коммит 4bd265468c
1 изменённых файлов: 3 добавлений и 1 удалений

Просмотреть файл

@ -2411,8 +2411,10 @@ CXSaveError ASTUnit::Save(StringRef File) {
serialize(Out); serialize(Out);
Out.close(); Out.close();
if (Out.has_error()) if (Out.has_error()) {
Out.clear_error();
return CXSaveError_Unknown; return CXSaveError_Unknown;
}
if (llvm::sys::fs::rename(TempPath.str(), File)) { if (llvm::sys::fs::rename(TempPath.str(), File)) {
bool exists; bool exists;