Andrew Kelley
c711c788f0
stage2: fixes for error unions, optionals, errors
...
* `?E` where E is an error set with only one field now lowers the same
as `bool`.
* Fix implementation of errUnionErrOffset and errUnionPayloadOffset to
properly compute the offset of each field. Also name them the same
as the corresponding LLVM functions and have the same function
signature, to avoid confusion. This fixes a bug where wasm was
passing the error union type instead of the payload type.
* Fix C backend handling of optionals with zero-bit payload types.
* C backend: separate out airOptionalPayload and airOptionalPayloadPtr
which reduces branching and cleans up control flow.
* Make Type.isNoReturn return true for error sets with no fields.
* Make `?error{}` have only one possible value (null).
2022-05-24 15:34:52 -07:00
..
2022-05-18 07:43:33 +02:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-09-01 17:54:07 -07:00
2022-05-17 23:50:38 -07:00
2022-02-28 23:20:05 +01:00
2022-04-22 07:52:21 -07:00
2022-05-04 20:38:53 -07:00
2022-03-23 14:06:07 -07:00
2022-05-04 17:34:16 -07:00
2022-03-23 14:06:07 -07:00
2022-05-19 19:39:34 +02:00
2022-02-14 22:33:01 +01:00
2022-05-04 18:45:59 -07:00
2022-03-18 16:28:38 +01:00
2021-10-28 17:33:05 -07:00
2022-03-17 18:00:48 -07:00
2022-05-07 22:53:17 +02:00
2022-05-20 02:47:20 -07:00
2022-03-18 15:02:52 -07:00
2022-05-20 02:47:20 -07:00
2022-03-21 15:05:21 +02:00
2022-03-15 15:09:48 -07:00
2022-02-13 14:42:20 +02:00
2022-03-08 21:10:04 +01:00
2022-03-09 13:53:20 -07:00
2022-05-24 15:34:52 -07:00
2022-05-24 15:34:52 -07:00
2022-03-08 11:23:38 +02:00
2022-04-24 20:24:37 -07:00
2022-03-09 13:53:20 -07:00
2022-05-03 21:50:00 -07:00
2022-02-14 22:33:01 +01:00
2021-05-08 14:45:21 -07:00
2022-04-22 07:52:21 -07:00
2022-03-29 02:28:20 -04:00
2022-04-14 06:08:28 -07:00
2021-05-08 14:45:21 -07:00
2022-03-11 12:59:20 -07:00
2022-03-05 11:31:51 +01:00
2022-01-07 00:06:06 -05:00
2022-03-08 21:10:04 +01:00
2022-05-18 07:43:33 +02:00
2022-03-19 21:01:36 -04:00
2022-03-05 11:31:51 +01:00
2022-02-28 23:20:05 +01:00
2022-05-19 19:39:34 +02:00
2022-04-02 21:54:01 +02:00
2022-02-22 21:57:42 +01:00
2022-03-17 11:39:56 -07:00
2022-04-27 17:24:36 -07:00
2022-03-17 11:39:56 -07:00
2022-03-17 11:39:56 -07:00
2022-04-15 19:17:50 +03:00
2022-04-09 12:43:30 +02:00
2022-05-17 23:50:38 -07:00
2022-05-18 07:43:33 +02:00
2021-12-11 00:29:31 +01:00
2022-05-09 18:51:46 +02:00
2021-05-08 14:45:21 -07:00
2022-02-22 21:57:42 +01:00
2022-03-01 18:24:00 -07:00
2022-03-18 15:02:52 -07:00
2022-03-25 19:14:11 +01:00
2022-03-18 15:02:52 -07:00
2022-05-20 02:47:20 -07:00
2021-06-21 17:03:03 -07:00
2022-04-28 17:45:33 +03:00
2022-03-01 23:46:57 -07:00
2022-03-16 20:19:58 +01:00
2022-03-22 15:45:59 -07:00
2022-05-18 07:43:33 +02:00
2022-03-09 13:53:20 -07:00
2022-03-09 13:53:20 -07:00
2022-04-04 22:46:05 -07:00
2022-03-05 11:31:51 +01:00
2022-03-08 20:38:51 +02:00
2022-03-18 15:02:52 -07:00
2022-04-19 22:40:48 +02:00
2022-03-05 11:31:51 +01:00
2022-03-24 17:04:50 +01:00
2022-03-30 14:12:14 -04:00
2022-03-30 14:12:14 -04:00
2022-03-23 21:40:33 +01:00
2022-03-18 00:12:22 -07:00
2022-05-22 21:02:32 +02:00
2022-03-18 15:02:52 -07:00
2022-05-19 19:39:34 +02:00
2022-03-30 17:24:01 -07:00
2022-03-17 11:39:56 -07:00
2022-05-16 13:55:26 -07:00
2022-03-16 20:20:07 +01:00
2022-03-03 18:31:55 -07:00
2022-05-16 13:55:26 -07:00
2022-05-18 07:43:33 +02:00
2022-01-29 18:12:28 +02:00