aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/floatop.zig
diff options
context:
space:
mode:
authorVeikka Tuominen <git@vexu.eu>2022-02-17 17:29:19 +0200
committerVeikka Tuominen <git@vexu.eu>2022-02-17 23:06:46 +0200
commit6235afc63207bae564725adec202fc2e7a3ba930 (patch)
tree7b8ccfc2c6acf714f91671c49acff3a0d814b20d /test/behavior/floatop.zig
parentf20929bd8b6cd2b0af5edade9c27a5e002480d65 (diff)
downloadzig-6235afc63207bae564725adec202fc2e7a3ba930.tar.gz
zig-6235afc63207bae564725adec202fc2e7a3ba930.zip
stage1: fix f80 negation
Diffstat (limited to 'test/behavior/floatop.zig')
-rw-r--r--test/behavior/floatop.zig18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/behavior/floatop.zig b/test/behavior/floatop.zig
index 3c9121d019..22c576e5f5 100644
--- a/test/behavior/floatop.zig
+++ b/test/behavior/floatop.zig
@@ -448,3 +448,21 @@ fn testTrunc() !void {
try expect(math.approxEqAbs(f32, @trunc(@as(f32, -0.4)), result[3], epsilon));
}
}
+
+test "negation" {
+ if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+ if (builtin.os.tag == .freebsd) return error.SkipZigTest;
+
+ const S = struct {
+ fn doTheTest() !void {
+ inline for ([_]type{ f16, f32, f64, f80, f128 }) |T| {
+ var a: T = 1;
+ a = -a;
+ try expect(a == -1);
+ }
+ }
+ };
+
+ try S.doTheTest();
+ comptime try S.doTheTest();
+}