llvm-project/llvm/test/tools
JF Bastien 0e82895826 BitStream reader: propagate errors
The bitstream reader handles errors poorly. This has two effects:

 * Bugs in file handling (especially modules) manifest as an "unexpected end of
   file" crash
 * Users of clang as a library end up aborting because the code unconditionally
   calls `report_fatal_error`

The bitstream reader should be more resilient and return Expected / Error as
soon as an error is encountered, not way late like it does now. This patch
starts doing so and adopting the error handling where I think it makes sense.
There's plenty more to do: this patch propagates errors to be minimally useful,
and follow-ups will propagate them further and improve diagnostics.

https://bugs.llvm.org/show_bug.cgi?id=42311
<rdar://problem/33159405>

Differential Revision: https://reviews.llvm.org/D63518

llvm-svn: 364464
2019-06-26 19:50:12 +00:00
..
dsymutil [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
gold [Remarks] Extend -fsave-optimization-record to specify the format 2019-06-17 16:06:00 +00:00
llvm-ar Revert [llvm-ar][test] Add to MRI test coverage 2019-06-13 09:02:33 +00:00
llvm-as Make llvm-as --help great again 2019-05-27 08:24:06 +00:00
llvm-cfi-verify [cfi-verify] Support cross-DSO 2018-08-24 15:21:58 +00:00
llvm-config [gn build] Commit change that should have been in r350410. 2019-01-04 17:26:05 +00:00
llvm-cov Add REQUIRES: zlib to test added in r363325 as the profile uses zlib compression. 2019-06-14 01:08:50 +00:00
llvm-cvtres Let writeWindowsResourceCOFF() take a TimeStamp parameter 2019-06-11 11:26:50 +00:00
llvm-cxxdump [llvm-cxxdump] Use error reporting helpers from support 2018-11-11 01:24:02 +00:00
llvm-cxxfilt [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-cxxmap Add flag to llvm-profdata to allow symbols in profile data to be remapped, and 2018-09-13 20:22:02 +00:00
llvm-diff llvm-diff: Fix crash on anonymous functions 2018-09-24 04:42:13 +00:00
llvm-dlltool [llvm-dlltool] Respect NONAME keyword 2019-05-22 09:49:54 +00:00
llvm-dwarfdump [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-dwp Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways 2019-05-10 18:47:39 +00:00
llvm-elfabi [yaml2obj][obj2yaml] - Add support for dumping/parsing .dynamic sections. 2019-02-09 11:34:28 +00:00
llvm-exegesis [llvm-exegesis] Fix serialization/deserialization of special NoRegister register (PR41448) 2019-04-11 07:20:50 +00:00
llvm-extract [llvm-extract] Expose the group extraction feature of the BlockExtractor 2019-04-29 16:14:03 +00:00
llvm-isel-fuzzer [lit][tests]Add feature libcxx-used and use it in llvm-*-fuzzer tests 2019-05-14 13:54:33 +00:00
llvm-lib [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
llvm-lipo Fix UNSUPPORTED attribute from windows to system-windows. 2019-06-22 01:14:29 +00:00
llvm-lit
llvm-lto BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
llvm-lto2 [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
llvm-mc [lit] Delete empty lines at the end of lit.local.cfg NFC 2019-06-17 09:51:07 +00:00
llvm-mca Set an explicit x86 triple for test bottleneck-analysis.s added by my r364045. NFC 2019-06-21 14:05:58 +00:00
llvm-modextract
llvm-mt
llvm-nm [llvm-nm] Generalize ELF symbol types 'N' and 'n' 2019-06-20 10:15:11 +00:00
llvm-objcopy [llvm-objcopy] - Get rid of dynrel.elf precompiled binary from inputs. 2019-06-21 14:15:15 +00:00
llvm-objdump [llvm-objdump] Match GNU objdump on symbol types shown in disassembly 2019-06-24 17:47:56 +00:00
llvm-opt-fuzzer [lit][tests]Add feature libcxx-used and use it in llvm-*-fuzzer tests 2019-05-14 13:54:33 +00:00
llvm-opt-report
llvm-pdbdump [NativePDB] Fix access to both old & new fpo data entries from dbi stream 2019-01-30 10:40:45 +00:00
llvm-profdata Replace 'REQUIRES: nozlib' with '!zlib' because we don't need two ways 2019-05-10 18:47:39 +00:00
llvm-rc Fix llvm-rc tests. 2019-03-27 20:15:08 +00:00
llvm-readobj [llvm-readobj/llvm-readelf] - Eliminate the elf-groups.x86_64 precompiled binary from the inputs. 2019-06-24 08:29:54 +00:00
llvm-size [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-split
llvm-strings [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-symbolizer Fix frame.s test dir-separator checks 2019-06-25 12:35:38 +00:00
llvm-xray/X86 [llvm-xray] Support for PIE 2018-12-14 01:37:56 +00:00
lto [llvm-nm][llvm-readelf] Avoid single-dash -long-option in tests 2019-04-27 16:12:14 +00:00
obj2yaml [yaml2obj/obj2yaml] - Allow having the symbols and sections with duplicated names. 2019-06-25 08:22:57 +00:00
opt-viewer [opt-viewer] Add --filter option to select remarks for displaying. 2019-02-06 18:43:37 +00:00
sancov
sanstats [yaml2obj][obj2yaml] - Change how symbol's binding is descibed when parsing/dumping. 2019-04-03 14:53:42 +00:00
yaml2obj [yaml2obj/obj2yaml] - Allow having the symbols and sections with duplicated names. 2019-06-25 08:22:57 +00:00