X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=ast.h;h=c759a48e95cd2d8098759dec9c5c03835fe9d5e9;hb=d2405a9ad82a153b11515df9555764c61fb8e597;hp=bb7a3170a7c108a51d6792cb5588fee64e1a9ac0;hpb=b10a2d1fd5b2654fe606adf8d6eac7b1ce23bd8b;p=xonotic%2Fgmqcc.git diff --git a/ast.h b/ast.h index bb7a317..c759a48 100644 --- a/ast.h +++ b/ast.h @@ -155,9 +155,10 @@ struct ast_expression_common #define AST_FLAG_INCLUDE_DEF (1<<5) #define AST_FLAG_IS_VARARG (1<<6) #define AST_FLAG_ALIAS (1<<7) +#define AST_FLAG_ERASEABLE (1<<8) /* An array declared as [] * so that the size is taken from the initializer */ -#define AST_FLAG_ARRAY_INIT (1<<8) +#define AST_FLAG_ARRAY_INIT (1<<9) #define AST_FLAG_TYPE_MASK (AST_FLAG_VARIADIC | AST_FLAG_NORETURN) /* Value @@ -207,6 +208,9 @@ struct ast_value_s /* ONLY for arrays in progs version up to 6 */ ast_value *setter; ast_value *getter; + + + bool intrinsic; /* true if associated with intrinsic */ }; ast_value* ast_value_new(lex_ctx_t ctx, const char *name, int qctype); @@ -251,7 +255,7 @@ struct ast_binary_s ast_expression *left; ast_expression *right; ast_binary_ref refs; - + bool right_first; }; ast_binary* ast_binary_new(lex_ctx_t ctx, int op,