From: Steve Baird Date: Thu, 8 Jun 2023 22:08:11 +0000 (-0700) Subject: ada: Bugbox compiling Constrained_Protected_Object'Image X-Git-Tag: basepoints/gcc-15~7237 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=77604913b73e35b1b7f38725c526ac558ff165be;p=thirdparty%2Fgcc.git ada: Bugbox compiling Constrained_Protected_Object'Image In some cases, a bugbox is generated when compiling an example that references X'Image, where X is a constrained object of a discriminated protected type. gcc/ada/ * sem_ch3.adb (Constrain_Corresponding_Record): When copying information from the unconstrained record type to a newly constructed constrained record subtype, the Direct_Primitive_Operations attribute must be copied. --- diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb index ed337f5408ec..042ace017242 100644 --- a/gcc/ada/sem_ch3.adb +++ b/gcc/ada/sem_ch3.adb @@ -14325,6 +14325,8 @@ package body Sem_Ch3 is Set_Is_Constrained (T_Sub, True); Set_First_Entity (T_Sub, First_Entity (Corr_Rec)); Set_Last_Entity (T_Sub, Last_Entity (Corr_Rec)); + Set_Direct_Primitive_Operations + (T_Sub, Direct_Primitive_Operations (Corr_Rec)); if Has_Discriminants (Prot_Subt) then -- False only if errors. Set_Discriminant_Constraint