forked from OSchip/llvm-project
0e82895826
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 |
||
---|---|---|
.. | ||
tool | ||
BitcodeReader.cpp | ||
BitcodeReader.h | ||
BitcodeWriter.cpp | ||
BitcodeWriter.h | ||
CMakeLists.txt | ||
ClangDoc.cpp | ||
ClangDoc.h | ||
Generators.cpp | ||
Generators.h | ||
MDGenerator.cpp | ||
Mapper.cpp | ||
Mapper.h | ||
Representation.cpp | ||
Representation.h | ||
Serialize.cpp | ||
Serialize.h | ||
YAMLGenerator.cpp |