Andrew Kelley
a024aff932
make f80 less hacky; lower as u80 on non-x86
...
Get rid of `std.math.F80Repr`. Instead of trying to match the memory
layout of f80, we treat it as a value, same as the other floating point
types. The functions `make_f80` and `break_f80` are introduced to
compose an f80 value out of its parts, and the inverse operation.
stage2 LLVM backend: fix pointer to zero length array tripping LLVM
assertion. It now checks for when the element type is a zero-bit type
and lowers such thing the same way that pointers to other zero-bit types
are lowered.
Both stage1 and stage2 LLVM backends are adjusted so that f80 is lowered
as x86_fp80 on x86_64 and i386 architectures, and identical to a u80 on
others. LLVM constants are lowered in a less hacky way now that #10860
is fixed, by using the expression `(exp << 64) | fraction` using llvm
constants.
Sema is improved to handle c_longdouble by recursively handling it
correctly for whatever the float bit width is. In both stage1 and
stage2.
2022-02-12 11:18:23 +01:00
..
2022-02-10 21:40:06 +01: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-02-08 21:02:50 +01:00
2022-02-06 02:23:31 -05:00
2022-02-03 22:31:29 +01:00
2022-01-20 20:26:09 +01:00
2021-10-04 23:48:55 -07:00
2021-12-19 00:24:45 -05:00
2022-01-18 21:25:22 -07:00
2021-06-21 17:03:03 -07:00
2022-02-12 00:01:05 +01:00
2022-01-25 19:29:40 +01:00
2022-02-06 02:23:31 -05:00
2021-05-08 14:45:21 -07:00
2021-10-28 17:33:05 -07:00
2021-09-01 15:41:29 -07:00
2021-05-08 14:45:21 -07:00
2022-01-26 20:59:20 -07:00
2022-01-10 21:01:00 +01:00
2022-02-10 21:40:06 +01:00
2022-02-08 21:02:50 +01:00
2022-01-24 21:47:53 -07:00
2021-10-02 20:15:03 -07:00
2022-01-26 00:36:12 -07:00
2022-01-26 20:02:01 -07:00
2022-01-08 14:30:11 -05:00
2022-01-26 20:59:20 -07:00
2022-01-26 00:36:12 -07:00
2022-01-31 22:33:49 -07:00
2021-05-08 14:45:21 -07:00
2022-02-12 11:18:23 +01:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2022-02-10 21:40:06 +01:00
2022-01-26 00:36:12 -07:00
2022-02-06 02:23:31 -05:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2022-01-26 00:36:12 -07:00
2022-01-07 00:06:06 -05:00
2021-05-08 14:45:21 -07:00
2022-01-17 21:55:49 -07:00
2022-01-24 21:47:53 -07:00
2021-06-21 17:03:03 -07:00
2022-02-07 16:52:19 -07:00
2021-10-14 21:17:30 -07:00
2022-01-24 21:47:53 -07:00
2021-04-29 15:54:04 -07:00
2022-01-26 00:36:12 -07:00
2022-01-28 11:45:04 -07:00
2022-02-06 02:23:31 -05:00
2022-02-08 20:03:17 -07:00
2022-02-09 18:29:51 -07:00
2022-01-26 20:02:01 -07:00
2021-10-29 17:49:02 -07:00
2022-01-12 23:53:26 -07:00
2021-12-11 00:29:31 +01:00
2022-01-26 20:02:01 -07:00
2021-05-08 14:45:21 -07:00
2022-01-07 00:06:06 -05:00
2022-01-07 00:06:06 -05:00
2022-01-29 18:12:28 +02:00
2021-07-26 20:05:48 -04:00
2021-09-01 15:41:29 -07:00
2022-01-08 14:01:28 +01:00
2022-01-08 14:01:28 +01:00
2021-06-21 17:03:03 -07:00
2022-02-12 00:01:05 +01:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2022-02-01 19:06:40 -07:00
2022-02-08 21:02:56 +01:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2022-01-17 20:45:55 -07:00
2021-09-23 13:17:06 -04:00
2021-08-06 09:10:50 +03:00
2022-01-26 20:59:20 -07:00
2021-12-08 15:25:31 -07:00
2022-01-26 16:14:57 +01:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2022-02-08 23:02:13 -07:00
2022-02-01 18:10:19 -07:00
2022-01-03 02:09:54 +01:00
2021-07-28 18:17:11 -04:00
2021-11-27 00:27:52 -07:00
2021-10-02 20:15:03 -07:00
2021-12-28 20:20:30 -07:00
2022-02-10 00:27:02 -07:00
2021-11-30 16:15:42 -07:00
2021-06-21 17:03:03 -07:00
2021-10-04 23:48:55 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2022-01-17 20:45:55 -07:00
2022-01-28 11:45:04 -07:00
2022-01-29 18:12:28 +02:00