X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=ast.h;h=09f901a30542d539a5e2a2f2c375bb7db7103921;hp=ad50c6178b50264dfb879c81b4166b708ce3d13a;hb=866fc3e24769ba8268de06ee5e28fc634612449f;hpb=a1f13499f98b2cfefd59cfa3fa47dd86e620ecf6;ds=sidebyside diff --git a/ast.h b/ast.h index ad50c61..09f901a 100644 --- a/ast.h +++ b/ast.h @@ -404,12 +404,12 @@ ast_store* ast_store_new(lex_ctx_t ctx, int op, /* If * - * A general 'if then else' statement, either side can be NULL and will - * thus be omitted. It is an error for *both* cases to be NULL at once. + * A general 'if then else' statement, either side can be nullptr and will + * thus be omitted. It is an error for *both* cases to be nullptr at once. * * During its 'codegen' it'll be changing the ast_function's block. * - * An if is also an "expression". Its codegen will put NULL into the + * An if is also an "expression". Its codegen will put nullptr into the * output field though. For ternary expressions an ast_ternary will be * added. */ @@ -431,7 +431,7 @@ ast_ifthen* ast_ifthen_new(lex_ctx_t ctx, ast_expression *cond, ast_expression * * a PHI node. * * The other difference is that in an ast_ternary, NEITHER side - * must be NULL, there's ALWAYS an else branch. + * must be nullptr, there's ALWAYS an else branch. * * This is the only ast_node beside ast_value which contains * an ir_value. Theoretically we don't need to remember it though. @@ -623,15 +623,15 @@ bool GMQCC_WARN ast_block_add_expr(ast_block*, ast_expression*); */ struct ast_function { - ast_node node; + ast_node node; - ast_value *vtype; + ast_value *vtype; const char *name; int builtin; /* list of used-up names for statics without the count suffix */ - char **static_names; + std::vector static_names; /* number of static variables, by convention this includes the * ones without the count-suffix - remember this when dealing * with savegames. uint instead of size_t as %zu in printf is @@ -639,16 +639,16 @@ struct ast_function unsigned int static_count; ir_function *ir_func; - ir_block *curblock; + ir_block *curblock; std::vector breakblocks; std::vector continueblocks; - size_t labelcount; + size_t labelcount; /* in order for thread safety - for the optional * channel abesed multithreading... keeping a buffer * here to use in ast_function_label. */ - char labelbuf[64]; + char labelbuf[64]; std::vector blocks; ast_value *varargs; ast_value *argc;