Print this page
12166 resync smatch to 0.6.1-rc1-il-3
*** 83,92 ****
--- 83,94 ----
return preop;
}
struct expression *deref_expression(struct expression *expr)
{
+ if (expr->type == EXPR_BINOP)
+ expr = preop_expression(expr, '(');
return preop_expression(expr, '*');
}
struct expression *assign_expression(struct expression *left, int op, struct expression *right)
{
*** 160,169 ****
--- 162,182 ----
ret->string = string;
return ret;
}
+ struct expression *call_expression(struct expression *fn, struct expression_list *args)
+ {
+ struct expression *expr;
+
+ expr = alloc_tmp_expression(fn->pos, EXPR_CALL);
+ expr->fn = fn;
+ expr->args = args;
+
+ return expr;
+ }
+
static struct expression *get_expression_from_base_and_str(struct expression *base, const char *addition)
{
struct expression *ret = NULL;
struct token *token, *prev, *end;
char *alloc;