https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71761

--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #11)
> Patch posted:
> https://gcc.gnu.org/pipermail/gcc-patches/2025-June/687297.html

I have a new patch in testing which fixes the targetm.calls.structure_value_rtx
issue that was found.

```
diff --git a/gcc/calls.cc b/gcc/calls.cc
index 7cd0d72f3ed..ffb57622389 100644
--- a/gcc/calls.cc
+++ b/gcc/calls.cc
@@ -3693,7 +3693,7 @@ expand_call (tree exp, rtx target, int ignore)

       /* Pass the function the address in which to return a
         structure value.  */
-      if (pass != 0 && structure_value_addr && ! structure_value_addr_parm)
+      if (structure_value_addr && ! structure_value_addr_parm)
        {
          structure_value_addr
            = convert_memory_address (Pmode, structure_value_addr);

```

Basically before, pass would always be 1 when structure_value_addr is non-null.
But now we need the case where pass is 0 which is for the tail call expansion.

Reply via email to