diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-08-13 11:35:22 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-08-13 11:35:22 -0400 |
| commit | 1ce826b9c3e9e57fe3acbd2abb5252bdeb630963 (patch) | |
| tree | 7827cd14bca9d30f703804feb3da38fee560ad90 /compile.c | |
| parent | 2c79bf2d7183f69405bc7f5fbaf4a5fc95c98d8a (diff) | |
Tweak to codegen for range iteration
Diffstat (limited to 'compile.c')
| -rw-r--r-- | compile.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -852,7 +852,7 @@ CORD compile_statement(env_t *env, ast_t *ast) "const Range_t range = ", range, ";\n" "if (range.step.small == 0) fail(\"This range has a 'step' of zero and will loop infinitely!\");\n" "bool negative = (Int$compare_value(range.step, I(0)) < 0);\n" - "for (Int_t ", value, " = range.first; negative ? Int$compare_value(", value, ", range.last) >= 0 : Int$compare_value(", value, ", range.last) <= 0 ; ", value, " = Int$plus(", value, ", range.step)) {\n" + "for (Int_t ", value, " = range.first; ({ int32_t cmp = Int$compare_value(", value, ", range.last); negative ? cmp >= 0 : cmp <= 0;}) ; ", value, " = Int$plus(", value, ", range.step)) {\n" "\t", body, "\n}", stop, |
