aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/freeze.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2004-11-19 11:56:37 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2004-11-19 11:56:37 +0100
commit1d571f3b00a155910504a2b219c77b839aebbb16 (patch)
treed53ac18b77b5d4de0e5e3bfaf29a5eaf3873c86d /gcc/ada/freeze.adb
parent1735e55db99c4dac8a4c93f6f637bce55cb3008a (diff)
downloadgcc-1d571f3b00a155910504a2b219c77b839aebbb16.zip
gcc-1d571f3b00a155910504a2b219c77b839aebbb16.tar.gz
gcc-1d571f3b00a155910504a2b219c77b839aebbb16.tar.bz2
einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used
* einfo.ads, einfo.adb: Remove Is_Psected flag, no longer used (Has_Rep_Pragma): New function (Has_Attribute_Definition_Clause): New function (Record_Rep_Pragma): Moved here from sem_ch13.adb (Get_Rep_Pragma): Remove junk kludge for Stream_Convert pragma * sem_ch13.ads, sem_ch13.adb (Record_Rep_Pragma): Moved to einfo.adb * exp_prag.adb: (Expand_Pragma_Common_Object): New procedure (Expand_Pragma_Psect_Object): New procedure These procedures contain the revised and cleaned up processing for these two pragmas. This processing was formerly in Sem_Prag, but is more appropriately moved here. The cleanup involves making sure that the pragmas are properly attached to the tree, and that no nodes are improperly shared. * sem_prag.adb: Move expansion of Common_Object and Psect_Object pragmas to Exp_Prag, which is more appropriate. Attach these two pragmas to the Rep_Item chain Use Rep_Item chain to check for duplicates Remove use of Is_Psected flag, no longer needed. Use new Make_String_Literal function with string. * exp_attr.adb (Expand_Fpt_Attribute): The floating-point attributes that are functions return universal values, that have to be converted to the context type. Use new Make_String_Literal function with string. (Get_Stream_Convert_Pragma): New function, replaces the use of Get_Rep_Pragma, which had to be kludged to work in this case. * freeze.adb: Use new Has_Rep_Pragma function * exp_intr.adb, exp_ch3.adb, sem_attr.adb: Use new Make_String_Literal function with string. Use new Has_Rep_Pragma function. * tbuild.ads, tbuild.adb (Make_String_Literal): New function, takes string argument. From-SVN: r90904
Diffstat (limited to 'gcc/ada/freeze.adb')
-rw-r--r--gcc/ada/freeze.adb8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 1623b41..e49ec85 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -2235,17 +2235,17 @@ package body Freeze is
-- inherited the indication from elsewhere (e.g. an address
-- clause, which is not good enough in RM terms!)
- if Present (Get_Rep_Pragma (E, Name_Atomic))
+ if Has_Rep_Pragma (E, Name_Atomic)
or else
- Present (Get_Rep_Pragma (E, Name_Atomic_Components))
+ Has_Rep_Pragma (E, Name_Atomic_Components)
then
Error_Msg_N
("stand alone atomic constant must be " &
"imported ('R'M 'C.6(13))", E);
- elsif Present (Get_Rep_Pragma (E, Name_Volatile))
+ elsif Has_Rep_Pragma (E, Name_Volatile)
or else
- Present (Get_Rep_Pragma (E, Name_Volatile_Components))
+ Has_Rep_Pragma (E, Name_Volatile_Components)
then
Error_Msg_N
("stand alone volatile constant must be " &