don't generate storep for vector field unless it's an ent field

This commit is contained in:
Dale Weiler 2017-11-26 17:47:27 -05:00
parent fa7dce495b
commit b14a02e735

View file

@ -296,7 +296,11 @@ static bool rotate_entfield_array_index_nodes(ast_expression **out)
static int store_op_for(ast_expression* expr)
{
if (OPTS_FLAG(ADJUST_VECTOR_FIELDS) && expr->m_vtype == TYPE_FIELD && expr->m_next->m_vtype == TYPE_VECTOR) {
return type_storep_instr[TYPE_VECTOR];
if (ast_istype(expr, ast_entfield)) {
return type_storep_instr[TYPE_VECTOR];
} else {
return type_store_instr[TYPE_VECTOR];
}
}
if (ast_istype(expr, ast_member) && ast_istype(((ast_member*)expr)->m_owner, ast_entfield)) {