From: Piotr Trojanek Date: Thu, 25 Jun 2020 19:48:51 +0000 (+0200) Subject: [Ada] Unique itypes names for unconstrained array object declaration X-Git-Tag: basepoints/gcc-12~4284 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5540812a4d623975660159172d3cf4241ead8494;p=thirdparty%2Fgcc.git [Ada] Unique itypes names for unconstrained array object declaration gcc/ada/ * sem_ch3.adb (Array_Type_Declaration): Create itype with unique name. --- diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index dc276df7972e..8fe118b078eb 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -6141,7 +6141,12 @@ package body Sem_Ch3 is -- Constrained array case if No (T) then - T := Create_Itype (E_Void, P, Related_Id, 'T'); + -- We might be creating more than one itype with the same Related_Id, + -- e.g. for an array object definition and its initial value. Give + -- them unique suffixes, because GNATprove require distinct types to + -- have different names. + + T := Create_Itype (E_Void, P, Related_Id, 'T', Suffix_Index => -1); end if; if Nkind (Def) = N_Constrained_Array_Definition then