diff options
author | Denis Bakhvalov <denis.bakhvalov@intel.com> | 2019-07-17 23:28:39 +0000 |
---|---|---|
committer | Denis Bakhvalov <denis.bakhvalov@intel.com> | 2019-07-17 23:28:39 +0000 |
commit | 3eab4819f25afad53060e8d5bb97c7eab46bb586 (patch) | |
tree | 225363beb526c4fbd74ec2a74989db77652562c8 /llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp | |
parent | 7bb5fc058314dba81dd652d8dcc74e133db0b445 (diff) | |
download | bcm5719-llvm-3eab4819f25afad53060e8d5bb97c7eab46bb586.tar.gz bcm5719-llvm-3eab4819f25afad53060e8d5bb97c7eab46bb586.zip |
[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
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp')
-rw-r--r-- | llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp b/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp index 87940509741..9c30d563a31 100644 --- a/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp +++ b/llvm/lib/Bitcode/Reader/BitcodeAnalyzer.cpp @@ -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); |