Lines Matching refs:sym

168 	struct symbol *sym;  in find_symbol()  local
170 for (sym = symtab[h]; sym; sym = sym->hash_next) in find_symbol()
171 if (map_to_ns(sym->type) == map_to_ns(ns) && in find_symbol()
172 strcmp(name, sym->name) == 0 && in find_symbol()
173 sym->is_declared) in find_symbol()
176 if (exact && sym && sym->type != ns) in find_symbol()
178 return sym; in find_symbol()
181 static int is_unknown_symbol(struct symbol *sym) in is_unknown_symbol() argument
185 return ((sym->type == SYM_STRUCT || in is_unknown_symbol()
186 sym->type == SYM_UNION || in is_unknown_symbol()
187 sym->type == SYM_ENUM) && in is_unknown_symbol()
188 (defn = sym->defn) && defn->tag == SYM_NORMAL && in is_unknown_symbol()
201 struct symbol *sym; in __add_symbol() local
241 for (sym = symtab[h]; sym; sym = sym->hash_next) { in __add_symbol()
242 if (map_to_ns(sym->type) == map_to_ns(type) && in __add_symbol()
243 strcmp(name, sym->name) == 0) { in __add_symbol()
246 else if (sym->type == type && in __add_symbol()
247 equal_list(sym->defn, defn)) { in __add_symbol()
248 if (!sym->is_declared && sym->is_override) { in __add_symbol()
254 sym->is_declared = 1; in __add_symbol()
255 return sym; in __add_symbol()
256 } else if (!sym->is_declared) { in __add_symbol()
257 if (sym->is_override && flag_preserve) { in __add_symbol()
262 sym->is_declared = 1; in __add_symbol()
263 return sym; in __add_symbol()
265 status = is_unknown_symbol(sym) ? in __add_symbol()
270 return sym; in __add_symbol()
276 if (sym) { in __add_symbol()
280 if (*psym == sym) { in __add_symbol()
281 *psym = sym->hash_next; in __add_symbol()
288 sym = xmalloc(sizeof(*sym)); in __add_symbol()
289 sym->name = name; in __add_symbol()
290 sym->type = type; in __add_symbol()
291 sym->defn = defn; in __add_symbol()
292 sym->expansion_trail = NULL; in __add_symbol()
293 sym->visited = NULL; in __add_symbol()
294 sym->is_extern = is_extern; in __add_symbol()
296 sym->hash_next = symtab[h]; in __add_symbol()
297 symtab[h] = sym; in __add_symbol()
299 sym->is_declared = !is_reference; in __add_symbol()
300 sym->status = status; in __add_symbol()
301 sym->is_override = 0; in __add_symbol()
317 return sym; in __add_symbol()
471 struct string_list *sym, *def; in read_reference() local
475 sym = read_node(f); in read_reference()
476 if (sym && sym->tag == SYM_NORMAL && in read_reference()
477 !strcmp(sym->string, "override")) { in read_reference()
479 free_node(sym); in read_reference()
480 sym = read_node(f); in read_reference()
482 if (!sym) in read_reference()
496 subsym = add_reference_symbol(xstrdup(sym->string), sym->tag, in read_reference()
499 free_node(sym); in read_reference()
541 static unsigned long expand_and_crc_sym(struct symbol *sym, unsigned long crc) in expand_and_crc_sym() argument
543 struct string_list *list = sym->defn; in expand_and_crc_sym()
635 if (!sym->visited) { in expand_and_crc_sym()
636 *end = sym; in expand_and_crc_sym()
637 end = &sym->visited; in expand_and_crc_sym()
638 sym->visited = (struct symbol *)-1L; in expand_and_crc_sym()
647 struct symbol *sym; in export_symbol() local
649 sym = find_symbol(name, SYM_NORMAL, 0); in export_symbol()
650 if (!sym) in export_symbol()
661 sym->expansion_trail = expansion_trail; in export_symbol()
662 expansion_trail = sym; in export_symbol()
663 crc = expand_and_crc_sym(sym, 0xffffffff) ^ 0xffffffff; in export_symbol()
665 sym = expansion_trail; in export_symbol()
666 while (sym != (struct symbol *)-1L) { in export_symbol()
667 struct symbol *n = sym->expansion_trail; in export_symbol()
669 if (sym->status != STATUS_UNCHANGED) { in export_symbol()
678 print_type_name(sym->type, sym->name); in export_symbol()
679 if (sym->status == STATUS_DEFINED) in export_symbol()
685 sym->expansion_trail = 0; in export_symbol()
686 sym = n; in export_symbol()
854 struct symbol *sym = visited_symbols; in main() local
856 if (sym->is_override) in main()
858 if (symbol_types[sym->type].n) { in main()
859 putc(symbol_types[sym->type].n, dumpfile); in main()
862 fputs(sym->name, dumpfile); in main()
864 if (sym->is_extern) in main()
866 print_list(dumpfile, sym->defn); in main()
869 visited_symbols = sym->visited; in main()
870 sym->visited = NULL; in main()