From: Wolfgang Bumiller Date: Wed, 4 Jul 2012 13:05:16 +0000 (+0200) Subject: Testing CALLs in test-ast X-Git-Tag: 0.1-rc1~448 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=bcd8138e43e7c3d9ff5628f45f9c71d370b0830b;p=xonotic%2Fgmqcc.git Testing CALLs in test-ast --- diff --git a/test/ast-macros.h b/test/ast-macros.h index 8c6d6c6..5b92a38 100644 --- a/test/ast-macros.h +++ b/test/ast-macros.h @@ -47,6 +47,17 @@ do { \ #define BIN(op, a, b) \ (ast_expression*)ast_binary_new(ctx, INSTR_##op, (ast_expression*)(a), (ast_expression*)(b)) +#define CALL(what) \ +do { \ + ast_call *call = ast_call_new(ctx, (ast_expression*)what); \ + +#define CALLPARAM(x) \ + assert(ast_call_params_add(call, (ast_expression*)x)); + +#define ENDCALL() \ + STATE(call); \ +} while(0) + #define WHILE(cond) \ do { \ ast_expression *wh_cond = (ast_expression*)(cond); \ diff --git a/test/ast-test.c b/test/ast-test.c index e0cf69d..c57e436 100644 --- a/test/ast-test.c +++ b/test/ast-test.c @@ -63,6 +63,10 @@ FUNCTION(main, TYPE_VOID); STATE(ASSIGN(STORE_F, vi, BIN(ADD_F, vi, f1))); ENDWHILE(); + CALL(print) + CALLPARAM(sHello) + ENDCALL(); + ENDFUNCTION(main); ir = ir_builder_new("ast_test");