From: Gary Dismukes Date: Tue, 11 May 2021 18:49:46 +0000 (-0400) Subject: [Ada] Regression on overloaded prefixed calls related to prefixed-call extension X-Git-Tag: basepoints/gcc-13~6244 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e11a24513632e2b2a3842bfd3ef226565f523778;p=thirdparty%2Fgcc.git [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. --- diff --git a/gcc/ada/sem_ch4.adb b/gcc/ada/sem_ch4.adb index eb1a556dd5c7..1bfd222301ec 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;