| author | |
| committer | |
| log | aafff258973fb58f1a964eb050d5602ed8b9f60c |
| tree | 77542a7628d0dd34ef6d4274df431b2da6e13fbf |
| parent | e025ad7b46e3be08e17e70444f909d351ddc6718 |
| signature |
2 files changed, 9 insertions(+), 1 deletions(-)
src/translate_c.zig+1-1| ... | ... | @@ -2388,7 +2388,7 @@ fn transCCast( |
| 2388 | 2388 | } |
| 2389 | 2389 | if (!cIsFloating(src_type) and cIsFloating(dst_type)) { |
| 2390 | 2390 | var rhs = expr; |
| 2391 | if (qualTypeIsBoolean(src_type)) rhs = try Tag.int_from_bool.create(c.arena, expr); | |
| 2391 | if (qualTypeIsBoolean(src_type) or isBoolRes(rhs)) rhs = try Tag.int_from_bool.create(c.arena, expr); | |
| 2392 | 2392 | // @as(dest_type, @floatFromInt(val)) |
| 2393 | 2393 | return Tag.as.create(c.arena, .{ |
| 2394 | 2394 | .lhs = dst_node, |
test/cases/run_translated_c/float_from_bool_expr_cast.c created+8| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | int main() { | |
| 2 | float f = (float)(10.0f > 1.0f); | |
| 3 | return 0; | |
| 4 | } | |
| 5 | ||
| 6 | // run-translated-c | |
| 7 | // c_frontend=clang | |
| 8 | // |