diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/translate_c.zig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/translate_c.zig b/src/translate_c.zig index 5683855d23..6a76246890 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -2380,6 +2380,14 @@ fn transCCast( }); } if (cIsFloating(src_type) and !cIsFloating(dst_type)) { + // bool expression: floating val != 0 + if (qualTypeIsBoolean(dst_type)) { + return Tag.not_equal.create(c.arena, .{ + .lhs = expr, + .rhs = Tag.zero_literal.init(), + }); + } + // @as(dest_type, @intFromFloat(val)) return Tag.as.create(c.arena, .{ .lhs = dst_node, |
