diff --git a/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp b/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp --- a/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp @@ -539,8 +539,11 @@ Error BitcodeAnalyzer::analyze(Optional O, Optional CheckHash) { - if (Expected H = analyzeHeader(O, Stream)) - CurStreamType = *H; + Expected MaybeType = analyzeHeader(O, Stream); + if (!MaybeType) + return MaybeType.takeError(); + else + CurStreamType = *MaybeType; Stream.setBlockInfo(&BlockInfo);