[Ada] Regression on overloaded prefixed calls related to prefixed-call extension
authorGary Dismukes <dismukes@adacore.com>
Tue, 11 May 2021 18:49:46 +0000 (14:49 -0400)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 6 Jul 2021 14:46:56 +0000 (14:46 +0000)
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

index eb1a556..1bfd222 100644 (file)
@@ -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;