From: Dale Weiler Date: Wed, 10 Dec 2014 07:40:35 +0000 (-0500) Subject: When storing to a vector member as part of an entity field we must use STOREP X-Git-Tag: xonotic-v0.8.1~9^2 X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=commitdiff_plain;h=5d5b9a379ac6c4c2f6855b6a155216ab375795e4 When storing to a vector member as part of an entity field we must use STOREP --- 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'):