Lines Matching refs:sym
53 static struct symbol *copy_symbol(struct position pos, struct symbol *sym)
55 if (!sym)
56 return sym;
57 if (sym->ctype.modifiers & (MOD_STATIC | MOD_EXTERN | MOD_TOPLEVEL | MOD_INLINE))
58 return sym;
59 if (!sym->replace) {
60 warning(pos, "unreplaced symbol '%s'", show_ident(sym->ident));
61 return sym;
63 return sym->replace;
69 struct symbol *sym;
71 FOR_EACH_PTR(src, sym) {
72 struct symbol *newsym = copy_symbol(sym->pos, sym);
74 } END_FOR_EACH_PTR(sym);
89 struct symbol *sym = copy_symbol(expr->pos, expr->symbol);
90 if (sym == expr->symbol)
93 expr->symbol = sym;
160 struct symbol *sym = expr->cast_type;
163 expr->cast_type = alloc_symbol(sym->pos, sym->type);
164 *expr->cast_type = *sym;
312 static void unset_replace(struct symbol *sym)
314 struct symbol *r = sym->replace;
316 warning(sym->pos, "symbol '%s' not replaced?", show_ident(sym->ident));
320 sym->replace = NULL;
325 struct symbol *sym;
326 FOR_EACH_PTR(list, sym) {
327 unset_replace(sym);
328 } END_FOR_EACH_PTR(sym);
339 struct symbol *sym;
342 FOR_EACH_PTR(stmt->declaration, sym) {
343 struct symbol *newsym = copy_symbol(stmt->pos, sym);
344 if (newsym != sym)
345 newsym->initializer = copy_expression(sym->initializer);
347 } END_FOR_EACH_PTR(sym);
394 struct symbol *sym = copy_symbol(stmt->pos, stmt->ret_target);
398 stmt->ret_target = sym;
489 struct symbol *sym = orig;
491 sym = alloc_symbol(orig->pos, orig->type);
492 *sym = *orig;
493 sym->bb_target = NULL;
494 sym->pseudo = NULL;
495 set_replace(orig, sym);
496 orig = sym;
504 struct symbol *sym;
506 FOR_EACH_PTR(src, sym) {
507 struct symbol *newsym = create_copy_symbol(sym);
509 } END_FOR_EACH_PTR(sym);
513 int inline_function(struct expression *expr, struct symbol *sym)
516 struct symbol *fn = sym->ctype.base_type;
536 fn_symbol_list = create_symbol_list(sym->inline_symbol_list);
563 stmt->inline_fn = sym;
570 void uninline(struct symbol *sym)
572 struct symbol *fn = sym->ctype.base_type;
576 sym->symbol_list = create_symbol_list(sym->inline_symbol_list);
582 unset_replace_list(sym->symbol_list);