zig

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

commit 2e092e08f4fefa3fcd05484a755db5f5eef8e9cd (tree)
parent 675de74412e6006ee270fdd2a3b3e20727328af0
Author: Andrew Kelley <superjoe30@gmail.com>
Date:   Sun, 31 Jan 2016 21:50:41 -0700

fix invalid const expr eval for negative floats

Diffstat:
Msrc/bignum.cpp | 2+-
Mtest/run_tests.cpp | 4++--
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/bignum.cpp b/src/bignum.cpp @@ -112,7 +112,7 @@ void bignum_negate(BigNum *dest, BigNum *op) { dest->kind = op->kind; if (dest->kind == BigNumKindFloat) { - dest->data.x_float = -dest->data.x_float; + dest->data.x_float = -op->data.x_float; } else { dest->data.x_uint = op->data.x_uint; dest->is_negative = !op->is_negative; diff --git a/test/run_tests.cpp b/test/run_tests.cpp @@ -1497,10 +1497,10 @@ export fn main(argc: c_int, argv: &&u8) -> c_int { const x: f64 = small; const y = i32(x); const z = f64(y); - printf(c"%.2f\n%d\n%.2f\n", x, y, z); + printf(c"%.2f\n%d\n%.2f\n%.2f\n", x, y, z, f64(-0.4)); return 0; } - )SOURCE", "3.25\n3\n3.00\n"); + )SOURCE", "3.25\n3\n3.00\n-0.40\n"); }