1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-18 18:42:46 +02:00

[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
llvm-svn: 366387
This commit is contained in:
Denis Bakhvalov 2019-07-17 23:28:39 +00:00
parent 28b4519628
commit 55e236e6d3

View File

@ -539,8 +539,11 @@ BitcodeAnalyzer::BitcodeAnalyzer(StringRef Buffer,
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);