aboutsummaryrefslogtreecommitdiff
path: root/compile.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2024-02-18 04:27:52 -0500
committerBruce Hill <bruce@bruce-hill.com>2024-02-18 04:27:52 -0500
commit88261bcbbd92cd78a4c068ae58906e36e26fd02a (patch)
treed644f595b0ab0e76cd78cd17cd0c52cca679a229 /compile.c
parent5ce55a6a29b240e7f0818fff0475f924188c74c8 (diff)
Fix single-thing iteration
Diffstat (limited to 'compile.c')
-rw-r--r--compile.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/compile.c b/compile.c
index 29e91329..9d5a2986 100644
--- a/compile.c
+++ b/compile.c
@@ -528,13 +528,13 @@ CORD compile(env_t *env, ast_t *ast)
"}\n"
"}\n");
} else {
- key = compile(env, for_->index);
+ key = compile(env, for_->value);
set_binding(scope, CORD_to_const_char_star(key), new(binding_t, .type=key_t));
return CORD_all(
"{ // For loop:\n"
"array_t $entries = (", compile(env, for_->iter), ").entries;\n"
"for (Int64_t $offset = 0; $offset < $entries.length; ++$offset) {\n"
- "\t", compile_type(key_t), " ", key, " = *(", compile_type(key_t), "*)$entries.data + $offset*$entries.stride);\n"
+ "\t", compile_type(key_t), " ", key, " = *(", compile_type(key_t), "*)($entries.data + $offset*$entries.stride);\n"
"\t", compile(scope, for_->body), "\n"
"}\n"
"}\n");