aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Schonberg <schonber@gnat.com>2001-10-11 00:19:12 +0000
committerGeert Bosch <bosch@gcc.gnu.org>2001-10-11 02:19:12 +0200
commit662e57b435994d4b54ce4a6ad5487a406b514adc (patch)
tree76e0023c7abbe9a550d63ad66962aff69dfe0dea
parent72e4357f2ee271976f72ce0616d80db468ebad5f (diff)
downloadgcc-662e57b435994d4b54ce4a6ad5487a406b514adc.zip
gcc-662e57b435994d4b54ce4a6ad5487a406b514adc.tar.gz
gcc-662e57b435994d4b54ce4a6ad5487a406b514adc.tar.bz2
sem_prag.adb: (Analyze_Pragma...
* 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. From-SVN: r46168
-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;