Lines Matching defs:fsym
204 begin_function(sym_t *fsym)
206 funcsym = fsym;
225 if (!fsym->s_type->t_proto && fsym->u.s_old_style_params == NULL)
226 fsym->s_osdef = true;
228 check_type(fsym);
234 if (fsym->s_type->t_subt->t_tspec != VOID &&
235 is_incomplete(fsym->s_type->t_subt)) {
240 fsym->s_def = DEF;
242 if (fsym->s_scl == TYPEDEF) {
243 fsym->s_scl = EXTERN;
249 fsym->s_inline = true;
256 for (const sym_t *param = fsym->s_type->u.params;
272 dcs->d_func_def_pos = fsym->s_def_pos;
277 if (!check_redeclaration(fsym, &dowarn)) {
284 if (dowarn && !fsym->s_osdef) {
288 error(27, fsym->s_name);
291 warning(27, fsym->s_name);
295 copy_usage_info(fsym, rdsym);
302 if (fsym->s_osdef && rdsym->s_type->t_proto)
303 fsym->s_def_pos = rdsym->s_def_pos;
305 complete_type(fsym, rdsym);
308 fsym->s_inline = true;
314 if (fsym->s_osdef && !fsym->s_type->t_proto) {
317 strcmp(fsym->s_name, "main") != 0)
323 fsym->s_return_type_implicit_int = true;