[llvm] r366387 - [llvm-bcanalyzer] Fixed error 'Expected<T> must be checked before access or destruction'

Denis Bakhvalov via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 17 16:28:39 PDT 2019


Author: dendibakh
Date: Wed Jul 17 16:28:39 2019
New Revision: 366387

URL: http://llvm.org/viewvc/llvm-project?rev=366387&view=rev
Log:
[llvm-bcanalyzer] Fixed error 'Expected<T> must be checked before access or destruction'

After rL365286 I had failing test:
  LLVM :: tools/gold/X86/v1.12/thinlto_emit_linked_objects.ll

It was failing with the output:
$ llvm-bcanalyzer --dump llvm/test/tools/gold/X86/v1.12/Output/thinlto_emit_linked_objects.ll.tmp3.o.thinlto.bc
Expected<T> must be checked before access or destruction.
Unchecked Expected<T> contained error:
Unexpected end of file reading 0 of 0 bytesStack dump:

Change-Id: I07e03262074ea5e0aae7a8d787d5487c87f914a2

Modified:
    llvm/trunk/lib/Bitcode/Reader/BitcodeAnalyzer.cpp

Modified: llvm/trunk/lib/Bitcode/Reader/BitcodeAnalyzer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Bitcode/Reader/BitcodeAnalyzer.cpp?rev=366387&r1=366386&r2=366387&view=diff
==============================================================================
--- llvm/trunk/lib/Bitcode/Reader/BitcodeAnalyzer.cpp (original)
+++ llvm/trunk/lib/Bitcode/Reader/BitcodeAnalyzer.cpp Wed Jul 17 16:28:39 2019
@@ -539,8 +539,11 @@ BitcodeAnalyzer::BitcodeAnalyzer(StringR
 
 Error BitcodeAnalyzer::analyze(Optional<BCDumpOptions> O,
                                Optional<StringRef> CheckHash) {
-  if (Expected<CurStreamTypeType> H = analyzeHeader(O, Stream))
-    CurStreamType = *H;
+  Expected<CurStreamTypeType> MaybeType = analyzeHeader(O, Stream);
+  if (!MaybeType)
+    return MaybeType.takeError();
+  else
+    CurStreamType = *MaybeType;
 
   Stream.setBlockInfo(&BlockInfo);
 




More information about the llvm-commits mailing list