diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-16 08:46:36 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-06-16 08:46:36 +0000 |
commit | f140e45c456a155ce43cc83740b60eee16251965 (patch) | |
tree | 473b3727e61ab7b0c861751f6de3c8d7be1894ba /gcc/ada/tbuild.adb | |
parent | 6afcc79f3b0aa690a91ea864d9d658e9609c0d19 (diff) | |
download | gcc-f140e45c456a155ce43cc83740b60eee16251965.tar.gz |
2005-06-14 Robert Dewar <dewar@adacore.com>
Ed Schonberg <schonberg@adacore.com>
PR ada/10671
* sem_prag.adb: Implement pragma Persistent_BSS
Remove obsolete pragma Persistent_Data, Persistent_Object
Set Ada_Version_Explicit, for implementation of AI-362
Test Ada_Version_Explicit for Preelaborate_05 and Pure_05
Add processing for pragma Pure_05 and Preelaborate_05
Add processing for Assertion_Policy pragma
Add pragma identifiers for Assert
(Analyze_Pragma, case Assert): Check number of arguments
(Process_Inline): Additional guard against an illegal program, where the
argument of the pragma is undefined, and warnings on redundant
constructs are enabled.
(Analyze_Pragma, case Obsolescent): Allow an optional second argument
Ada_05 to this pragma, specifying that the pragma is only active in
Ada_05 mode.
(Check_Arg_Order): New procedure
Add appropriate calls to this procedure throughout
Also throughout, check entity name before doing any other checks
* snames.h snames.ads, snames.adb: Add pragma Persistent_BSS
Remove obsolete pragma Persistent_Data, Persistent_Object
Add entries for pragma Pure_05 and Preelaborate_05
Add entries for Assertion_Policy pragma and associated names
Add some names for pragma argument processing
* tbuild.ads, tbuild.adb: (Make_Linker_Section_Pragma): New function
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101060 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/tbuild.adb')
-rw-r--r-- | gcc/ada/tbuild.adb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ada/tbuild.adb b/gcc/ada/tbuild.adb index eed8e99ce97..b3afd564db5 100644 --- a/gcc/ada/tbuild.adb +++ b/gcc/ada/tbuild.adb @@ -256,6 +256,37 @@ package body Tbuild is return Make_Integer_Literal (Loc, UI_From_Int (Intval)); end Make_Integer_Literal; + -------------------------------- + -- Make_Linker_Section_Pragma -- + -------------------------------- + + function Make_Linker_Section_Pragma + (Ent : Entity_Id; + Loc : Source_Ptr; + Sec : String) return Node_Id + is + LS : Node_Id; + + begin + LS := + Make_Pragma + (Loc, + Name_Linker_Section, + New_List + (Make_Pragma_Argument_Association + (Sloc => Loc, + Expression => New_Occurrence_Of (Ent, Loc)), + Make_Pragma_Argument_Association + (Sloc => Loc, + Expression => + Make_String_Literal + (Sloc => Loc, + Strval => Sec)))); + + Set_Has_Gigi_Rep_Item (Ent); + return LS; + end Make_Linker_Section_Pragma; + --------------------------------- -- Make_Raise_Constraint_Error -- --------------------------------- |