From e11a24513632e2b2a3842bfd3ef226565f523778 Mon Sep 17 00:00:00 2001 From: Gary Dismukes Date: Tue, 11 May 2021 14:49:46 -0400 Subject: [PATCH] [Ada] Regression on overloaded prefixed calls related to prefixed-call extension gcc/ada/ * sem_ch4.adb (Try_One_Prefix_Interpretation): Augment test of "not Extensions_Allowed" with test for absence of Obj_Type's primitive operations Elist, as an additional condition for early return from this procedure. --- gcc/ada/sem_ch4.adb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index eb1a556..1bfd222 100644 --- a/gcc/ada/sem_ch4.adb +++ b/gcc/ada/sem_ch4.adb @@ -9558,9 +9558,13 @@ package body Sem_Ch4 is -- Extension feature: Calls with prefixed views are also supported -- for untagged types, so skip the early return when extensions are - -- enabled. + -- enabled, unless the type doesn't have a primitive operations list + -- (such as in the case of predefined types). - if (not Is_Tagged_Type (Obj_Type) and then not Extensions_Allowed) + if (not Is_Tagged_Type (Obj_Type) + and then + (not Extensions_Allowed + or else not Present (Primitive_Operations (Obj_Type)))) or else Is_Incomplete_Type (Obj_Type) then Obj_Type := Prev_Obj_Type; -- 2.7.4