> Am 14.08.2025 um 11:31 schrieb Kito Cheng <kito.ch...@sifive.com>:
>
> Call with funciton pointer might not able to get the fndecl, but fntype
> so use gimple_call_fntype instead of gimple_call_fndecl.
>
> aggregate_value_p can handle fndecl and fntype right (and even CALL_EXPR), so
> I
> think this change is safe.
It’s also more correct.
Ok
Richard
> gcc/ChangeLog:
>
> * tree-nrv.cc (pass_return_slot::execute): Use
> gimple_call_fntype instead of gimple_call_fndecl.
> ---
> gcc/tree-nrv.cc | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gcc/tree-nrv.cc b/gcc/tree-nrv.cc
> index 3be97afb319..9b514b7e70b 100644
> --- a/gcc/tree-nrv.cc
> +++ b/gcc/tree-nrv.cc
> @@ -385,7 +385,7 @@ pass_return_slot::execute (function *fun)
> undesirable warnings with some backends. */
> && !gimple_call_internal_p (stmt)
> && aggregate_value_p (TREE_TYPE (gimple_call_lhs (stmt)),
> - gimple_call_fndecl (stmt)))
> + gimple_call_fntype (stmt)))
> {
> /* Check if the location being assigned to is
> clobbered by the call. */
> --
> 2.34.1
>