diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2022-06-25 15:25:19 +0200 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2022-06-27 12:13:07 +0200 |
commit | b6b0d32a94a7ae21ac28be762be8ad50b092b177 (patch) | |
tree | f69b841c022b132ffb8316fa65d2ef37897ea776 | |
parent | ec2e9b554d4799633ff195106280a8146647db5b (diff) | |
download | sparse-b6b0d32a94a7ae21ac28be762be8ad50b092b177.tar.gz |
inline: avoid needless intermediate vars
In inline_function(), we need to iterate over the parameters
and the (effective) arguments. An itermediate variable is used for
each: "name_list" and "arg_list".
These confuse me a lot (especially "name_list", "param_list" would
be much more OK) and are just used once.
So, avoid using an intermediate variable for these.
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | inline.c | 9 |
1 files changed, 3 insertions, 6 deletions
@@ -516,9 +516,8 @@ int inline_function(struct expression *expr, struct symbol *sym) { struct symbol_list * fn_symbol_list; struct symbol *fn = sym->ctype.base_type; - struct expression_list *arg_list = expr->args; struct statement *stmt = alloc_statement(expr->pos, STMT_COMPOUND); - struct symbol_list *name_list, *arg_decl; + struct symbol_list *arg_decl; struct symbol *name; struct expression *arg; @@ -529,8 +528,6 @@ int inline_function(struct expression *expr, struct symbol *sym) if (fn->expanding) return 0; - name_list = fn->arguments; - expr->type = EXPR_STATEMENT; expr->statement = stmt; expr->ctype = fn->ctype.base_type; @@ -538,8 +535,8 @@ int inline_function(struct expression *expr, struct symbol *sym) fn_symbol_list = create_symbol_list(sym->inline_symbol_list); arg_decl = NULL; - PREPARE_PTR_LIST(name_list, name); - FOR_EACH_PTR(arg_list, arg) { + PREPARE_PTR_LIST(fn->arguments, name); + FOR_EACH_PTR(expr->args, arg) { struct symbol *a = alloc_symbol(arg->pos, SYM_NODE); if (name) { |