From: Eric Botcazou Date: Tue, 16 Mar 2021 09:24:39 +0000 (+0100) Subject: [Ada] Do not clear Is_True_Constant flag on imported constants X-Git-Tag: basepoints/gcc-13~6696 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a8dbd6b244df31819c378626007c45f001f7136;p=thirdparty%2Fgcc.git [Ada] Do not clear Is_True_Constant flag on imported constants gcc/ada/ * sem_prag.adb (Process_Import_Or_Interface): Do not artificially record a possible modification for a constant. --- diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 3e6af337dcd5..4efb3fb9de3b 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -9136,7 +9136,10 @@ package body Sem_Prag is Def_Id := Entity (Def_Id); Kill_Size_Check_Code (Def_Id); - Note_Possible_Modification (Get_Pragma_Arg (Arg1), Sure => False); + if Ekind (Def_Id) /= E_Constant then + Note_Possible_Modification + (Get_Pragma_Arg (Arg1), Sure => False); + end if; else Process_Convention (C, Def_Id); @@ -9146,7 +9149,10 @@ package body Sem_Prag is Mark_Ghost_Pragma (N, Def_Id); Kill_Size_Check_Code (Def_Id); - Note_Possible_Modification (Get_Pragma_Arg (Arg2), Sure => False); + if Ekind (Def_Id) /= E_Constant then + Note_Possible_Modification + (Get_Pragma_Arg (Arg2), Sure => False); + end if; end if; -- Various error checks