https://gcc.gnu.org/g:74cc201d4d555acb55edf22945022f70cd9e331a

commit r15-9889-g74cc201d4d555acb55edf22945022f70cd9e331a
Author: Javier Miranda <mira...@adacore.com>
Date:   Tue May 6 17:41:51 2025 +0000

    ada: Dispatching call with mutably tagged objects
    
    The compiler rejects performing a dispatching call using the
    prefix notation when the prefix of the call is a mutably
    tagged class-wide type object.
    
    gcc/ada/ChangeLog:
    
            * sem_ch4.adb (Try_Object_Operation): Handle mutably tagged
            class-wide type prefix.

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

diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb
index 8be9647e5c02..4b403e628581 100644
--- a/gcc/ada/sem_ch4.adb
+++ b/gcc/ada/sem_ch4.adb
@@ -10907,6 +10907,10 @@ package body Sem_Ch4 is
    --  Start of processing for Try_Object_Operation
 
    begin
+      if Is_Class_Wide_Equivalent_Type (Obj_Type) then
+         Obj_Type := Corresponding_Mutably_Tagged_Type (Obj_Type);
+      end if;
+
       Analyze_Expression (Obj);
 
       --  Analyze the actuals if node is known to be a subprogram call

Reply via email to