From: Justin Squirek Date: Fri, 29 May 2020 19:44:50 +0000 (-0400) Subject: [Ada] Spurious accessibility error on allocator X-Git-Tag: basepoints/gcc-12~6149 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c30eac83cb16fb8085683515a796f22d5e33ef5;p=thirdparty%2Fgcc.git [Ada] Spurious accessibility error on allocator gcc/ada/ * exp_ch6.adb (Make_Build_In_Place_Call_Allocator): Normalize the associated node for internally generated objects to be like their SOAAT counter-parts. --- diff --git a/gcc/ada/exp_ch6.adb b/gcc/ada/exp_ch6.adb index a42bd25709dd..bb9b150f6a07 100644 --- a/gcc/ada/exp_ch6.adb +++ b/gcc/ada/exp_ch6.adb @@ -9732,6 +9732,12 @@ package body Exp_Ch6 is New_Occurrence_Of (Etype (BIP_Func_Call), Loc), Expression => New_Copy_Tree (BIP_Func_Call)))); + -- Manually set the associated node for the anonymous access type to + -- be its local declaration to avoid confusing and complicating + -- the accessibility machinary. + + Set_Associated_Node_For_Itype (Anon_Type, Tmp_Decl); + Expander_Mode_Save_And_Set (False); Insert_Action (Allocator, Tmp_Decl); Expander_Mode_Restore;