Lines Matching refs:sym
92 static bool check_symbol_deprecated(const struct symbol *const sym) in check_symbol_deprecated() argument
95 const struct ident *id = sym->ident; in check_symbol_deprecated()
105 warning(sym->pos, in check_symbol_deprecated()
116 static void check_symbol_visibility(const struct symbol *const sym) in check_symbol_visibility() argument
118 const unsigned long mod = sym->ctype.modifiers; in check_symbol_visibility()
119 const char *const name = show_ident(sym->ident); in check_symbol_visibility()
129 warning(sym->pos, in check_symbol_visibility()
139 warning(sym->pos, in check_symbol_visibility()
145 if (sym->same_symbol) in check_symbol_visibility()
148 if (sym->ident == &main_ident) in check_symbol_visibility()
151 warning(sym->pos, in check_symbol_visibility()
157 static struct symbol *unwrap_base_type(const struct symbol *sym) in unwrap_base_type() argument
159 switch (sym->ctype.base_type->type) { in unwrap_base_type()
163 return unwrap_base_type(sym->ctype.base_type); in unwrap_base_type()
165 return sym->ctype.base_type; in unwrap_base_type()
172 static bool is_terminated_with_null_struct(const struct symbol *const sym) in is_terminated_with_null_struct() argument
174 const struct expression *const arr_init = sym->initializer; in is_terminated_with_null_struct()
189 static void check_tag_initializer(const struct symbol *const sym) in check_tag_initializer() argument
191 if (is_terminated_with_null_struct(sym)) in check_tag_initializer()
194 warning(sym->pos, in check_tag_initializer()
199 static void check_test_struct(const struct symbol *const sym) in check_test_struct() argument
203 struct expression *init = sym->initializer; in check_test_struct()
206 if (!sym->ctype.base_type) in check_test_struct()
209 ctype_name = sym->ctype.base_type->ident; in check_test_struct()
220 if (sym->ident != tst_test_test) in check_test_struct()
240 static void do_symbol_checks(struct symbol *sym) in do_symbol_checks() argument
242 if (check_symbol_deprecated(sym)) in do_symbol_checks()
245 check_symbol_visibility(sym); in do_symbol_checks()
246 check_test_struct(sym); in do_symbol_checks()
252 struct symbol *sym; in process_symbols() local
254 FOR_EACH_PTR(list, sym) { in process_symbols()
257 do_symbol_checks(sym); in process_symbols()
259 expand_symbol(sym); in process_symbols()
260 ep = linearize_symbol(sym); in process_symbols()
268 } END_FOR_EACH_PTR(sym); in process_symbols()