summaryrefslogtreecommitdiff
path: root/tools/lto
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2010-05-27 20:19:47 +0000
committerDan Gohman <gohman@apple.com>2010-05-27 20:19:47 +0000
commit4b7416b75db2a4b80ccffe6e15c0d7b6996a8201 (patch)
treec294213d1d6213633ef3be8b5ecc7ca65fe616d8 /tools/lto
parent756a96a328c3657029a47081ea7e961b4f0f65a5 (diff)
downloadllvm-4b7416b75db2a4b80ccffe6e15c0d7b6996a8201.tar.gz
llvm-4b7416b75db2a4b80ccffe6e15c0d7b6996a8201.tar.bz2
llvm-4b7416b75db2a4b80ccffe6e15c0d7b6996a8201.tar.xz
When handling raw_ostream errors manually, use clear_error() so that
raw_ostream doesn't try to do its own error handling. Also, close the raw_ostream before checking for errors so that any errors that occur during closing are caught by the manual check. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@104882 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/lto')
-rw-r--r--tools/lto/LTOCodeGenerator.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/lto/LTOCodeGenerator.cpp b/tools/lto/LTOCodeGenerator.cpp
index 59e8405e7e..c4d7e8abe7 100644
--- a/tools/lto/LTOCodeGenerator.cpp
+++ b/tools/lto/LTOCodeGenerator.cpp
@@ -152,10 +152,12 @@ bool LTOCodeGenerator::writeMergedModules(const char *path,
// write bitcode to it
WriteBitcodeToFile(_linker.getModule(), Out);
-
+ Out.close();
+
if (Out.has_error()) {
errMsg = "could not write bitcode file: ";
errMsg += path;
+ Out.clear_error();
return true;
}