From 08d9d017a857f93850ca7f384e8e4d175d842262 Mon Sep 17 00:00:00 2001 From: Zuzana Baranova <xbaranov@fi.muni.cz> Date: Sun, 11 Nov 2018 18:40:41 +0000 Subject: [PATCH] tools: Check the return value when fetching module so that debug builds work. --- tools/divcc.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tools/divcc.cpp b/tools/divcc.cpp index e29f3c7ab..8c0c2b3f2 100644 --- a/tools/divcc.cpp +++ b/tools/divcc.cpp @@ -150,7 +150,10 @@ std::unique_ptr< llvm::Module > llvmExtract( PairedFiles& files, cc::CC1& clang auto bc = llvm::object::IRObjectFile::findBitcodeInMemBuffer( (*buf.get()).getMemBufferRef() ); if ( !bc ) std::cerr << "No .llvmbc section found in file " << file.second << "." << std::endl; - std::unique_ptr< llvm::Module > m = std::move( llvm::parseBitcodeFile( bc.get(), *clang.context().get()).get() ); + auto expected_m = llvm::parseBitcodeFile( bc.get(), *clang.context().get() ); + if ( !expected_m ) + std::cerr << "Error parsing bitcode." << std::endl; + auto m = std::move( expected_m.get() ); m->setTargetTriple( "x86_64-unknown-none-elf" ); verifyModule( *m ); drv->link( std::move( m ) ); -- GitLab