diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2004-11-19 11:56:37 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2004-11-19 11:56:37 +0100 |
commit | 1d571f3b00a155910504a2b219c77b839aebbb16 (patch) | |
tree | d53ac18b77b5d4de0e5e3bfaf29a5eaf3873c86d /gcc/ada/freeze.adb | |
parent | 1735e55db99c4dac8a4c93f6f637bce55cb3008a (diff) | |
download | gcc-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.adb | 8 |
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 " & |