summaryrefslogtreecommitdiffstats
path: root/byterun/parsing.c
diff options
context:
space:
mode:
Diffstat (limited to 'byterun/parsing.c')
-rw-r--r--byterun/parsing.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/byterun/parsing.c b/byterun/parsing.c
index be902c314..79f910a30 100644
--- a/byterun/parsing.c
+++ b/byterun/parsing.c
@@ -238,8 +238,8 @@ CAMLprim value parse_engine(struct parser_tables *tables,
push:
Field(env->s_stack, sp) = Val_int(state);
modify(&Field(env->v_stack, sp), env->lval);
- Field(env->symb_start_stack, sp) = env->symb_start;
- Field(env->symb_end_stack, sp) = env->symb_end;
+ Store_field (env->symb_start_stack, sp, env->symb_start);
+ Store_field (env->symb_end_stack, sp, env->symb_end);
goto loop;
reduce:
@@ -275,10 +275,10 @@ CAMLprim value parse_engine(struct parser_tables *tables,
Field(env->s_stack, sp) = Val_int(state);
modify(&Field(env->v_stack, sp), arg);
asp = Int_val(env->asp);
- Field(env->symb_end_stack, sp) = Field(env->symb_end_stack, asp);
+ Store_field (env->symb_end_stack, sp, Field(env->symb_end_stack, asp));
if (sp > asp) {
/* This is an epsilon production. Take symb_start equal to symb_end. */
- Field(env->symb_start_stack, sp) = Field(env->symb_end_stack, asp);
+ Store_field (env->symb_start_stack, sp, Field(env->symb_end_stack, asp));
}
goto loop;