[gcc r12-1617] [Ada] Do not clear Is_True_Constant flag on imported constants
Pierre-Marie de Rodat
pmderodat@gcc.gnu.org
Fri Jun 18 08:38:09 GMT 2021
https://gcc.gnu.org/g:2a8dbd6b244df31819c378626007c45f001f7136
commit r12-1617-g2a8dbd6b244df31819c378626007c45f001f7136
Author: Eric Botcazou <ebotcazou@adacore.com>
Date: Tue Mar 16 10:24:39 2021 +0100
[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:
---
gcc/ada/sem_prag.adb | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 3e6af337dcd..4efb3fb9de3 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
More information about the Gcc-cvs
mailing list