aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/sem_prag.adb6
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 4c595c7..529a6a3 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2001-10-10 Ed Schonberg <schonber@gnat.com>
+
+ * sem_prag.adb: (Analyze_Pragma, case External): If entity is a
+ constant, do not indicate possible modification, so that gigi can
+ treat it as a bona fide constant.
+
2001-10-10 Robert Dewar <dewar@gnat.com>
* sem_prag.adb: Add processing for pragma External.
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 73a4b08..3c547c8 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -5021,7 +5021,11 @@ package body Sem_Prag is
Check_At_Least_N_Arguments (2);
Check_At_Most_N_Arguments (4);
Process_Convention (C, Def_Id);
- Note_Possible_Modification (Expression (Arg2));
+
+ if Ekind (Def_Id) /= E_Constant then
+ Note_Possible_Modification (Expression (Arg2));
+ end if;
+
Process_Interface_Name (Def_Id, Arg3, Arg4);
Set_Exported (Def_Id, Arg2);
end Export;