From: Wolfgang Bumiller Date: Sat, 28 Jul 2012 16:13:12 +0000 (+0200) Subject: ast_store to take ast_expression on its left, rather than ast_value. Assigning to... X-Git-Tag: 0.1-rc1~368^2 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=c5ba27da6f2ce3916b71653bc24b258aaf322c17;p=xonotic%2Fgmqcc.git ast_store to take ast_expression on its left, rather than ast_value. Assigning to a vector member would not put an ast_value on the left, but an ast_member, thus: ast_expression now already --- diff --git a/ast.c b/ast.c index 61b89e4..e153a5a 100644 --- a/ast.c +++ b/ast.c @@ -404,7 +404,7 @@ void ast_call_delete(ast_call *self) } ast_store* ast_store_new(lex_ctx ctx, int op, - ast_value *dest, ast_expression *source) + ast_expression *dest, ast_expression *source) { ast_instantiate(ast_store, ctx, ast_store_delete); ast_expression_init((ast_expression*)self, (ast_expression_codegen*)&ast_store_codegen); diff --git a/ast.h b/ast.h index 187ec88..fc4fef3 100644 --- a/ast.h +++ b/ast.h @@ -218,11 +218,11 @@ struct ast_store_s { ast_expression_common expression; int op; - ast_value *dest; /* When we add pointers this might have to change to expression */ + ast_expression *dest; ast_expression *source; }; ast_store* ast_store_new(lex_ctx ctx, int op, - ast_value *d, ast_expression *s); + ast_expression *d, ast_expression *s); void ast_store_delete(ast_store*); bool ast_store_codegen(ast_store*, ast_function*, bool lvalue, ir_value**); diff --git a/test/ast-macros.h b/test/ast-macros.h index c17b753..ebb3a5b 100644 --- a/test/ast-macros.h +++ b/test/ast-macros.h @@ -42,7 +42,7 @@ do { \ } while(0) #define ASSIGN(op, a, b) \ -(ast_expression*)ast_store_new(ctx, INSTR_##op, (a), (ast_expression*)(b)) +(ast_expression*)ast_store_new(ctx, INSTR_##op, (ast_expression*)(a), (ast_expression*)(b)) #define BIN(op, a, b) \ (ast_expression*)ast_binary_new(ctx, INSTR_##op, (ast_expression*)(a), (ast_expression*)(b))