Lines Matching refs:sym

155 	struct symbol *sym;  in find_symbol()  local
157 for (sym = symtab[h]; sym; sym = sym->hash_next) in find_symbol()
158 if (map_to_ns(sym->type) == map_to_ns(ns) && in find_symbol()
159 strcmp(name, sym->name) == 0 && in find_symbol()
160 sym->is_declared) in find_symbol()
163 if (exact && sym && sym->type != ns) in find_symbol()
165 return sym; in find_symbol()
168 static int is_unknown_symbol(struct symbol *sym) in is_unknown_symbol() argument
172 return ((sym->type == SYM_STRUCT || in is_unknown_symbol()
173 sym->type == SYM_UNION || in is_unknown_symbol()
174 sym->type == SYM_ENUM) && in is_unknown_symbol()
175 (defn = sym->defn) && defn->tag == SYM_NORMAL && in is_unknown_symbol()
188 struct symbol *sym; in __add_symbol() local
228 for (sym = symtab[h]; sym; sym = sym->hash_next) { in __add_symbol()
229 if (map_to_ns(sym->type) == map_to_ns(type) && in __add_symbol()
230 strcmp(name, sym->name) == 0) { in __add_symbol()
233 else if (sym->type == type && in __add_symbol()
234 equal_list(sym->defn, defn)) { in __add_symbol()
235 if (!sym->is_declared && sym->is_override) { in __add_symbol()
241 sym->is_declared = 1; in __add_symbol()
242 return sym; in __add_symbol()
243 } else if (!sym->is_declared) { in __add_symbol()
244 if (sym->is_override && flag_preserve) { in __add_symbol()
249 sym->is_declared = 1; in __add_symbol()
250 return sym; in __add_symbol()
252 status = is_unknown_symbol(sym) ? in __add_symbol()
257 return sym; in __add_symbol()
263 if (sym) { in __add_symbol()
267 if (*psym == sym) { in __add_symbol()
268 *psym = sym->hash_next; in __add_symbol()
275 sym = xmalloc(sizeof(*sym)); in __add_symbol()
276 sym->name = name; in __add_symbol()
277 sym->type = type; in __add_symbol()
278 sym->defn = defn; in __add_symbol()
279 sym->expansion_trail = NULL; in __add_symbol()
280 sym->visited = NULL; in __add_symbol()
281 sym->is_extern = is_extern; in __add_symbol()
283 sym->hash_next = symtab[h]; in __add_symbol()
284 symtab[h] = sym; in __add_symbol()
286 sym->is_declared = !is_reference; in __add_symbol()
287 sym->status = status; in __add_symbol()
288 sym->is_override = 0; in __add_symbol()
304 return sym; in __add_symbol()
458 struct string_list *sym, *def; in read_reference() local
462 sym = read_node(f); in read_reference()
463 if (sym && sym->tag == SYM_NORMAL && in read_reference()
464 !strcmp(sym->string, "override")) { in read_reference()
466 free_node(sym); in read_reference()
467 sym = read_node(f); in read_reference()
469 if (!sym) in read_reference()
483 subsym = add_reference_symbol(xstrdup(sym->string), sym->tag, in read_reference()
486 free_node(sym); in read_reference()
528 static unsigned long expand_and_crc_sym(struct symbol *sym, unsigned long crc) in expand_and_crc_sym() argument
530 struct string_list *list = sym->defn; in expand_and_crc_sym()
622 if (!sym->visited) { in expand_and_crc_sym()
623 *end = sym; in expand_and_crc_sym()
624 end = &sym->visited; in expand_and_crc_sym()
625 sym->visited = (struct symbol *)-1L; in expand_and_crc_sym()
634 struct symbol *sym; in export_symbol() local
636 sym = find_symbol(name, SYM_NORMAL, 0); in export_symbol()
637 if (!sym) in export_symbol()
648 sym->expansion_trail = expansion_trail; in export_symbol()
649 expansion_trail = sym; in export_symbol()
650 crc = expand_and_crc_sym(sym, 0xffffffff) ^ 0xffffffff; in export_symbol()
652 sym = expansion_trail; in export_symbol()
653 while (sym != (struct symbol *)-1L) { in export_symbol()
654 struct symbol *n = sym->expansion_trail; in export_symbol()
656 if (sym->status != STATUS_UNCHANGED) { in export_symbol()
665 print_type_name(sym->type, sym->name); in export_symbol()
666 if (sym->status == STATUS_DEFINED) in export_symbol()
672 sym->expansion_trail = 0; in export_symbol()
673 sym = n; in export_symbol()
813 struct symbol *sym = visited_symbols; in main() local
815 if (sym->is_override) in main()
817 if (symbol_types[sym->type].n) { in main()
818 putc(symbol_types[sym->type].n, dumpfile); in main()
821 fputs(sym->name, dumpfile); in main()
823 if (sym->is_extern) in main()
825 print_list(dumpfile, sym->defn); in main()
828 visited_symbols = sym->visited; in main()
829 sym->visited = NULL; in main()