1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/tools
JF Bastien ec871141b2 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
..
bugpoint [Bugpoint] fix another use-after-move. NFC 2019-05-31 21:36:21 +00:00
bugpoint-passes
dsymutil Simplify std::lower_bound with llvm::{bsearch,lower_bound}. NFC 2019-06-21 05:40:31 +00:00
gold [Remarks] Extend -fsave-optimization-record to specify the format 2019-06-17 16:06:00 +00:00
llc [Remarks] Extend -fsave-optimization-record to specify the format 2019-06-17 16:06:00 +00:00
lli [ORC] Guarantee unique JITDylib names in lli, add usage notes to createJITDylib. 2019-05-21 22:07:53 +00:00
llvm-ar [llvm-ar] Create thin archives with MRI scripts 2019-06-06 13:19:50 +00:00
llvm-as Make llvm-as --help great again 2019-05-27 08:24:06 +00:00
llvm-as-fuzzer
llvm-bcanalyzer BitStream reader: propagate errors 2019-06-26 19:50:12 +00:00
llvm-c-test Fix BUILD_SHARED_LIBS builds after r361567 2019-05-24 02:15:27 +00:00
llvm-cat Simplify llvm-cat help 2019-05-13 11:29:25 +00:00
llvm-cfi-verify Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
llvm-config
llvm-cov Recommit [Object] Change object::SectionRef::getContents() to return Expected<StringRef> 2019-05-16 13:24:04 +00:00
llvm-cvtres Share /machine: handling code with llvm-cvtres too 2019-06-12 11:32:43 +00:00
llvm-cxxdump Break false dependencies on target libraries 2019-05-23 23:02:56 +00:00
llvm-cxxfilt [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-cxxmap
llvm-diff
llvm-dis
llvm-dwarfdump [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-dwp Fix BUILD_SHARED_LIBS builds after r361567 2019-05-24 02:15:27 +00:00
llvm-elfabi
llvm-exegesis fix a typo unavaliable=>unavailable 2019-06-08 15:07:55 +00:00
llvm-extract Sanitize llvm-extract -help output 2019-06-12 21:08:19 +00:00
llvm-go [tests][go]Add -stdlib=libc++ to build GO test if LLVM is built with libc++ 2019-05-16 13:32:55 +00:00
llvm-isel-fuzzer Break a couple more false dependencies on target libraries 2019-06-10 23:52:38 +00:00
llvm-itanium-demangle-fuzzer
llvm-jitlink Break a couple more false dependencies on target libraries 2019-06-10 23:52:38 +00:00
llvm-jitlistener
llvm-link
llvm-lipo [llvm-lipo] Implement -thin 2019-06-21 21:59:01 +00:00
llvm-lto [ThinLTO]LTO]Legacy] Fix dependent libraries support by adding querying of the IRSymtab 2019-06-12 11:07:56 +00:00
llvm-lto2 [Remarks] Extend -fsave-optimization-record to specify the format 2019-06-17 16:06:00 +00:00
llvm-mc
llvm-mc-assemble-fuzzer
llvm-mc-disassemble-fuzzer
llvm-mca [MCA][Bottleneck Analysis] Teach how to compute a critical sequence of instructions based on the simulation. 2019-06-21 13:32:54 +00:00
llvm-microsoft-demangle-fuzzer
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: silence warning introduced in r364296 2019-06-26 19:16:35 +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 Break a couple more false dependencies on target libraries 2019-06-10 23:52:38 +00:00
llvm-opt-report [CommandLineParser] Add DefaultOption flag 2019-04-15 17:18:10 +00:00
llvm-pdbutil [PDB] Copy inlinee lines records into the PDB 2019-06-03 18:15:38 +00:00
llvm-profdata [llvm-profdata] Add overlap command to compute similarity b/w two profile files 2019-04-30 21:19:12 +00:00
llvm-rc Fix typos: (re)?sor?uce -> (re)?source 2019-04-26 05:56:23 +00:00
llvm-readobj [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-rtdyld Break false dependencies on target libraries 2019-05-23 23:02:56 +00:00
llvm-shlib [llvm-shlib] Do not use version script when building with MinGW 2019-06-25 19:34:52 +00:00
llvm-size [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-special-case-list-fuzzer
llvm-split
llvm-stress Avoid cppcheck operator precedence warnings. NFCI. 2019-05-03 13:50:38 +00:00
llvm-strings [binutils] Add response file option to help and docs 2019-06-21 11:49:20 +00:00
llvm-symbolizer llvm-symbolizer: Add a FRAME command. 2019-06-24 20:03:23 +00:00
llvm-undname llvm-undname: Add a -raw-file flag to pass a raw buffer to microsoftDemangle 2019-04-16 12:51:40 +00:00
llvm-xray [xray] Remove usage of procid_t 2019-06-26 15:42:42 +00:00
llvm-yaml-numeric-parser-fuzzer
lto [Legacy LTO] Fix build bots: r363140: Fix export name 2019-06-12 12:17:49 +00:00
msbuild vs integration: bump version nbr 2019-06-19 07:39:53 +00:00
obj2yaml [yaml2obj/obj2yaml] - Allow having the symbols and sections with duplicated names. 2019-06-25 08:22:57 +00:00
opt Revert "r364412 [ExpandMemCmp][MergeICmps] Move passes out of CodeGen into opt pipeline." 2019-06-26 12:13:13 +00:00
opt-viewer
remarks-shlib
sancov [sancov] Avoid unnecessary unique_ptr 2019-06-24 10:23:47 +00:00
sanstats
verify-uselistorder
xcode-toolchain
yaml2obj [yaml2obj/obj2yaml] - Allow having the symbols and sections with duplicated names. 2019-06-25 08:22:57 +00:00
CMakeLists.txt
LLVMBuild.txt [JITLink] Add llvm-jitlink subdirectory to tools/LLVMBuild.txt 2019-04-20 17:58:29 +00:00