> 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
> 

Reply via email to