https://gcc.gnu.org/g:8f36f3944bf608835c26659760fb8904e63d7e40

commit r16-6029-g8f36f3944bf608835c26659760fb8904e63d7e40
Author: Eric Botcazou <[email protected]>
Date:   Thu Dec 11 15:58:37 2025 +0100

    Ada: Fix ICE when building spawn-25.0.0 with GTK support
    
    This is a regression introduced on the mainline by the freezing change for
    the designated type of anonymous access-to-subprogram types, which has
    uncovered a small oversight in Analyze_Subprogram_Instantiation, whereby
    we propagate the Convention of the generic subprogram onto the named actual
    only, and not onto the anonymous actual built alongside the named one.
    
    gcc/ada/
            PR ada/123062
            * sem_ch12.adb (Analyze_Subprogram_Instantiation): Also propagate
            the Convention and Is_Exported flag onto the anonymous actual.

Diff:
---
 gcc/ada/sem_ch12.adb | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
index 750c2c1a06ff..3bff9394c835 100644
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -7090,7 +7090,10 @@ package body Sem_Ch12 is
            and then Convention (Gen_Unit) /= Convention_Intrinsic
          then
             Set_Convention (Act_Decl_Id, Convention (Gen_Unit));
+            Set_Convention (Anon_Id,     Convention (Gen_Unit));
+
             Set_Is_Exported (Act_Decl_Id, Is_Exported (Gen_Unit));
+            Set_Is_Exported (Anon_Id,     Is_Exported (Gen_Unit));
          end if;
 
          Generate_Definition (Act_Decl_Id);

Reply via email to