From 5d5b9a379ac6c4c2f6855b6a155216ab375795e4 Mon Sep 17 00:00:00 2001 From: Dale Weiler Date: Wed, 10 Dec 2014 02:40:35 -0500 Subject: [PATCH] When storing to a vector member as part of an entity field we must use STOREP --- parser.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/parser.c b/parser.c index e1779da..4a09583 100644 --- a/parser.c +++ b/parser.c @@ -953,6 +953,9 @@ static bool parser_sy_apply_operator(parser_t *parser, shunt *sy) } } (void)check_write_to(ctx, exprs[0]); + /* When we're a vector of part of an entity field we use STOREP */ + if (ast_istype(exprs[0], ast_member) && ast_istype(((ast_member*)exprs[0])->owner, ast_entfield)) + assignop = INSTR_STOREP_F; out = (ast_expression*)ast_store_new(ctx, assignop, exprs[0], exprs[1]); break; case opid3('+','+','P'): -- 2.39.2