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
..
2019-01-19 08:50:56 +00:00
2019-05-13 10:10:24 +00:00
2019-05-13 10:10:24 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-03 19:07:29 +00:00
2019-06-17 16:48:56 +00:00
2019-05-30 12:57:04 +00:00
2019-05-30 12:57:04 +00:00
2019-01-19 08:50:56 +00:00
2019-06-11 09:29:18 +00:00
2019-06-11 09:29:18 +00:00
2019-02-28 20:33:22 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-17 15:38:27 +00:00
2019-01-19 08:50:56 +00:00
2019-04-17 15:38:27 +00:00
2019-01-19 08:50:56 +00:00
2019-05-31 16:11:17 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-05 13:59:24 +00:00
2019-02-07 14:38:25 +00:00
2019-01-19 08:50:56 +00:00
2019-03-07 17:50:16 +00:00
2019-01-22 22:49:19 +00:00
2019-01-19 08:50:56 +00:00
2019-02-06 03:51:00 +00:00
2019-03-18 20:04:34 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-22 23:32:36 +00:00
2019-06-11 03:21:13 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-08 12:31:12 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-02-07 14:38:25 +00:00
2019-01-19 08:50:56 +00:00
2019-03-11 09:06:18 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-26 19:50:12 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-19 23:47:24 +00:00
2019-01-19 08:50:56 +00:00
2019-03-18 20:35:18 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-02-07 14:38:25 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-05-16 12:48:56 +00:00
2019-03-07 23:30:19 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-25 13:33:18 +00:00
2019-04-12 18:18:08 +00:00
2019-06-26 19:18:50 +00:00
2019-01-19 08:50:56 +00:00
2016-04-18 09:17:29 +00:00
2019-01-19 08:50:56 +00:00
2019-04-17 22:21:05 +00:00
2019-03-18 16:57:40 +00:00
2019-04-24 20:13:23 +00:00
2019-06-04 14:51:15 +00:00
2018-05-01 15:54:18 +00:00
2019-06-25 15:08:28 +00:00
2019-05-20 20:53:05 +00:00
2019-04-04 21:06:41 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-25 11:33:30 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-05-08 02:11:07 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-02-25 21:11:19 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2017-08-24 23:02:48 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-18 10:11:56 +00:00
2019-01-20 21:19:56 +00:00
2019-02-21 15:48:10 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-02-19 18:18:31 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-27 16:54:12 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-03-11 09:23:30 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-14 17:55:48 +00:00
2019-06-14 00:33:31 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-16 14:32:43 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-04-15 21:02:47 +00:00
2019-03-22 23:11:08 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-22 13:57:29 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-02-23 23:48:47 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-01-19 08:50:56 +00:00
2019-06-13 22:15:25 +00:00
2019-06-07 08:31:35 +00:00
2018-07-31 18:04:58 +00:00
2019-01-19 08:50:56 +00:00
2019-04-24 00:06:24 +00:00