From: Peter Collingbourne Date: Thu, 1 Dec 2016 23:13:11 +0000 (+0000) Subject: llvm-modextract: Call keep() on the output stream before exiting. X-Git-Tag: llvmorg-4.0.0-rc1~3211 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=85c2184a8e75df6cad959dd93275ef31dcf53834;p=platform%2Fupstream%2Fllvm.git llvm-modextract: Call keep() on the output stream before exiting. llvm-svn: 288435 --- diff --git a/llvm/test/tools/llvm-modextract/single.ll b/llvm/test/tools/llvm-modextract/single.ll index 32915ff..1d63b76 100644 --- a/llvm/test/tools/llvm-modextract/single.ll +++ b/llvm/test/tools/llvm-modextract/single.ll @@ -4,6 +4,11 @@ ; RUN: llvm-modextract -b -n 0 -o - %t | llvm-dis | FileCheck %s ; RUN: not llvm-modextract -b -n 1 -o - %t 2>&1 | FileCheck --check-prefix=ERROR %s +; RUN: llvm-modextract -n 0 -o %t0 %t +; RUN: llvm-dis -o - %t0 | FileCheck %s +; RUN: llvm-modextract -b -n 0 -o %t1 %t +; RUN: llvm-dis -o - %t1 | FileCheck %s + ; CHECK: define void @f() ; ERROR: llvm-modextract: error: module index out of range; bitcode file contains 1 module(s) diff --git a/llvm/tools/llvm-modextract/llvm-modextract.cpp b/llvm/tools/llvm-modextract/llvm-modextract.cpp index b4279f2..6c2e364 100644 --- a/llvm/tools/llvm-modextract/llvm-modextract.cpp +++ b/llvm/tools/llvm-modextract/llvm-modextract.cpp @@ -62,11 +62,13 @@ int main(int argc, char **argv) { SmallVector Header; BitcodeWriter Writer(Header); Out->os() << Header << Ms[ModuleIndex].getBuffer(); + Out->keep(); return 0; } std::unique_ptr M = ExitOnErr(Ms[ModuleIndex].parseModule(Context)); WriteBitcodeToFile(M.get(), Out->os()); + Out->keep(); return 0; }