From: Javier Miranda <mira...@adacore.com> 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. Tested on x86_64-pc-linux-gnu, committed on master. --- 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 89beb2b9a7e..f5b05191035 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 -- 2.43.0