Anatoly Sokolov <ae...@post.ru> writes: > -/* Implement FUNCTION_VALUE and LIBCALL_VALUE. For normal calls, > - VALTYPE is the return type and MODE is VOIDmode. For libcalls, > - VALTYPE is null and MODE is the mode of the return value. */ > +/* Implement TARGET_FUNCTION_VALUE and TERGET_LIBCALL_VALUE.
typo: TARGET. > + For normal calls, VALTYPE is the return type and MODE is VOIDmode. > + For libcalls, VALTYPE is null and MODE is the mode of the return value. > */ > > -rtx > -mips_function_value (const_tree valtype, const_tree func, enum machine_mode > mode) > +static rtx > +mips_function_value_1 (const_tree valtype, const_tree fn_decl_or_type, > + enum machine_mode mode) > { > if (valtype) > { > tree fields[2]; > int unsigned_p; > + const_tree func = fn_decl_or_type; > > + if (fn_decl_or_type > + && !DECL_P (fn_decl_or_type)) > + func = NULL; > + Nitlet, but I'd prefer: const_tree func; if (fn_decl_or_type && DECL_P (fn_decl_or_type)) func = fn_decl_or_type; else func = NULL_TREE; > + Returns true if N is a possible register number for a function value. > + On the MIPS, R2 R3 and F0 F2 are the only register thus used. > + Currently, R2 and F0 are only implemented here (C has no complex type) */ "N" isn't right any more. Let's just drop that line. (The rest of the comment looks dodgy, but that's certainly not your fault. :-) I agree we should keep the pre-existing comment when doing changes like this.) > +mips_function_value_regno_p (const unsigned int regno) Let's drop the "const". OK with those changes, thanks. Richard