aboutsummaryrefslogtreecommitdiff
path: root/ci
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-02-10 22:06:43 -0700
committerJakub Konka <kubkon@jakubkonka.com>2022-02-12 11:18:23 +0100
commita024aff9324e827d6595e44f922d87f8ed2dbd0d (patch)
tree2c0557a4e57acd198ca57deb7cc387109d96c26d /ci
parent1c23321d03a48558b02c2faf818b82811b8ab11d (diff)
downloadzig-a024aff9324e827d6595e44f922d87f8ed2dbd0d.tar.gz
zig-a024aff9324e827d6595e44f922d87f8ed2dbd0d.zip
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.
Diffstat (limited to 'ci')
0 files changed, 0 insertions, 0 deletions