[Ada] Fix String_Literal aspect spec checking problem for scalars.
authorSteve Baird <baird@adacore.com>
Thu, 1 Oct 2020 23:56:50 +0000 (16:56 -0700)
committerPierre-Marie de Rodat <derodat@adacore.com>
Tue, 24 Nov 2020 10:16:01 +0000 (05:16 -0500)
gcc/ada/

* sem_ch13.adb (Validate_Literal_Aspect): Call to Base_Type
needed in order to correctly check result type of String_Literal
function when the first named subtype differs from the base
type (e.g.:
type T is range 1 .. 10 with String_Literal => ... ;
).

gcc/ada/sem_ch13.adb

index 7013094..d8967dd 100644 (file)
@@ -16228,7 +16228,7 @@ package body Sem_Ch13 is
          Is_Match := False;
 
          if Ekind (It.Nam) = E_Function
-           and then Base_Type (Etype (It.Nam)) = Typ
+           and then Base_Type (Etype (It.Nam)) = Base_Type (Typ)
          then
             declare
                Params     : constant List_Id :=