X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=ast.h;h=2e9858fc85054ed6c6ff81dd7ebbe295d7bd7e77;hb=0ba8455f6a972499ff71648ac65325be091bab33;hp=b93de575c19e03c4e9d8e4560e63a27e571d43bf;hpb=ca947d782c52864c7f7c0ddb9c4be657d359a071;p=xonotic%2Fgmqcc.git diff --git a/ast.h b/ast.h index b93de57..2e9858f 100644 --- a/ast.h +++ b/ast.h @@ -150,7 +150,7 @@ typedef struct #define AST_FLAG_INITIALIZED (1<<3) #define AST_FLAG_DEPRECATED (1<<4) #define AST_FLAG_INCLUDE_DEF (1<<5) -#define AST_FLAG_VARARG_COUNT (1<<6) +#define AST_FLAG_IS_VARARG (1<<6) #define AST_FLAG_TYPE_MASK (AST_FLAG_VARIADIC | AST_FLAG_NORETURN) /* Value @@ -167,6 +167,8 @@ struct ast_value_s const char *name; const char *desc; + const char *argcounter; + /* int vtype; ast_value *next; @@ -574,6 +576,7 @@ struct ast_call_s ast_expression_common expression; ast_expression *func; ast_expression* *params; + ast_expression *va_count; }; ast_call* ast_call_new(lex_ctx ctx, ast_expression *funcexpr); @@ -642,6 +645,9 @@ struct ast_function_s char labelbuf[64]; ast_block* *blocks; + + ast_value *varargs; + ast_value *argc; }; ast_function* ast_function_new(lex_ctx ctx, const char *name, ast_value *vtype); /* This will NOT delete the underlying ast_value */