summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2014-06-18 20:07:35 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2014-06-18 20:07:35 +0000
commit8fb31112482ebf335b717b783cbefa1f60930fd4 (patch)
treeedda595509f4a488ed660e1a165bff7716aafd8e /llvm/lib/Bitcode/Reader/BitcodeReader.cpp
parent9e42e92e43df3787a7162c066cb55ba097e9175c (diff)
downloadbcm5719-llvm-8fb31112482ebf335b717b783cbefa1f60930fd4.tar.gz
bcm5719-llvm-8fb31112482ebf335b717b783cbefa1f60930fd4.zip
Revert a C API difference that I incorrectly introduced.
LLVMGetBitcodeModuleInContext should not take ownership on error. I will try to localize this odd api requirement, but this should get the bots green. llvm-svn: 211213
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 04fc18ec21f..9c398277d42 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -3380,6 +3380,7 @@ ErrorOr<Module *> llvm::getLazyBitcodeModule(MemoryBuffer *Buffer,
BitcodeReader *R = new BitcodeReader(Buffer, Context, BufferOwned);
M->setMaterializer(R);
if (std::error_code EC = R->ParseBitcodeInto(M)) {
+ R->releaseBuffer(); // Never take ownership on error.
delete M; // Also deletes R.
return EC;
}
OpenPOWER on IntegriCloud