示例#1
0
expr *expr_new_compound_lit(type *t, decl_init *init, int static_ctx)
{
	expr *e = expr_new_wrapper(compound_lit);
	e->bits.complit.decl = compound_lit_decl(t, init);
	e->bits.complit.static_ctx = static_ctx;
	return e;
}
示例#2
0
expr *expr_new_addr_lbl(char *lbl, int static_ctx)
{
	expr *e = expr_new_wrapper(addr);
	e->bits.lbl.spel = lbl;
	e->bits.lbl.static_ctx = static_ctx;
	return e;
}
示例#3
0
expr *expr_new_assign(expr *to, expr *from)
{
	expr *ass = expr_new_wrapper(assign);

	ass->lhs = to;
	ass->rhs = from;

	return ass;
}
expr *expr_new_assign_compound(expr *to, expr *from, enum op_type op)
{
	expr *e = expr_new_wrapper(assign_compound);

	e->lhs = to;
	e->rhs = from;
	e->op = op;

	return e;
}
示例#5
0
expr *expr_new_val(int val)
{
	expr *e = expr_new_wrapper(val);
	e->val.iv.val = val;
	return e;
}
示例#6
0
expr *expr_new_addr(expr *sub)
{
	expr *e = expr_new_wrapper(addr);
	e->lhs = sub;
	return e;
}
示例#7
0
expr *expr_new_funcall()
{
	expr *e = expr_new_wrapper(funcall);
	e->freestanding = !cc1_warning.unused_fnret;
	return e;
}
示例#8
0
expr *expr_new_funcall()
{
	expr *e = expr_new_wrapper(funcall);
	e->freestanding = 1;
	return e;
}
示例#9
0
expr *expr_new_str(char *s, size_t l, int wide, where *w, symtable *stab)
{
	expr *e = expr_new_wrapper(str);
	expr_mutate_str(e, s, l, wide, w, stab);
	return e;
}
示例#10
0
expr *expr_new_cast(decl *to)
{
    expr *e = expr_new_wrapper(cast);
    e->tree_type = to;
    return e;
}
示例#11
0
expr *expr_new_stmt(stmt *code)
{
	expr *e = expr_new_wrapper(stmt);
	e->code = code;
	return e;
}