zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 40b7792a4c815868bafe882cc77d89a67c08571b (tree)
parent 03ed0a59e337d89c9650cc8a70ff431b66ee8671
Author: Cody Tapscott <topolarity@tapscott.me>
Date:   Fri, 28 Oct 2022 08:51:15 -0700

Enable bitcast test now that #13214 is resolved.

Diffstat:
Mtest/behavior/bitcast.zig | 17++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/test/behavior/bitcast.zig b/test/behavior/bitcast.zig @@ -375,12 +375,19 @@ test "comptime @bitCast packed struct to int and back" { } } -test "comptime bitcast with fields following a float" { - if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO: https://github.com/ziglang/zig/issues/13214 +test "comptime bitcast with fields following f80" { + if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_wasm) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; + if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; + + const FloatT = extern struct { f: f80, x: u128 align(16) }; + const x: FloatT = .{ .f = 0.5, .x = 123 }; + var x_as_uint: u256 = comptime @bitCast(u256, x); - const FloatT = extern struct { f: f80, x: u128 }; - var x: FloatT = .{ .f = 0.5, .x = 123 }; - try expect(@bitCast(u256, x) == comptime @bitCast(u256, @as(FloatT, .{ .f = 0.5, .x = 123 }))); + try expect(x.f == @bitCast(FloatT, x_as_uint).f); + try expect(x.x == @bitCast(FloatT, x_as_uint).x); } test "bitcast vector to integer and back" {