From 8fb31112482ebf335b717b783cbefa1f60930fd4 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Wed, 18 Jun 2014 20:07:35 +0000 Subject: 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 --- llvm/lib/Bitcode/Reader/BitcodeReader.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp') 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 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; } -- cgit v1.2.3