summaryrefslogtreecommitdiff
path: root/gcc/ada/aspects.ads
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2011-08-29 13:04:03 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2011-08-29 13:04:03 +0200
commit2ef48385c29c519a157e3a6d60011196cd7e9409 (patch)
tree4aba7bb8be42df71db6f5f369d691f9ddcdf7256 /gcc/ada/aspects.ads
parent0db16b1e6b193f55d7ad70bc204f9942a21ab924 (diff)
downloadgcc-2ef48385c29c519a157e3a6d60011196cd7e9409.tar.gz
[multiple changes]
2011-08-29 Thomas Quinot <quinot@adacore.com> * a-synbar-posix.adb: Minor reformatting. 2011-08-29 Jose Ruiz <ruiz@adacore.com> * a-exetim-posix.adb, a-exetim-mingw.adb, a-exetim-mingw.ads, a-exetim-default.ads (Interrupt_Clocks_Supported, Separate_Interrupt_Clocks_Supported, Clock_For_Interrupts): Add these definitions to be compliant with AI-0171. The target systems do not support separate account for the execution time of interrupt handlers. 2011-08-29 Jose Ruiz <ruiz@adacore.com> * a-synbar.adb (Wait): Change the order of evaluation of the conditions in the barrier to put first the easiest to evaluate (and the one which will be True more often). More efficient. 2011-08-29 Eric Botcazou <ebotcazou@adacore.com> * s-atocou-x86.adb: Fix constraint in machine code insertion. 2011-08-29 Bob Duff <duff@adacore.com> * aspects.ads, aspects.adb: Add new aspects for various pragmas and attributes that are now aspects, as specified by AI05-0229-1. * sem_ch13.adb (Analyze_Aspect_Specifications, Check_Aspect_At_Freeze_Point): Analyze the new aspects. Turn them into pragmas or attribute references, as appropriate. From-SVN: r178203
Diffstat (limited to 'gcc/ada/aspects.ads')
-rwxr-xr-xgcc/ada/aspects.ads22
1 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ada/aspects.ads b/gcc/ada/aspects.ads
index af4448f3ce9..ee992a6383f 100755
--- a/gcc/ada/aspects.ads
+++ b/gcc/ada/aspects.ads
@@ -46,6 +46,7 @@ package Aspects is
(No_Aspect, -- Dummy entry for no aspect
Aspect_Address,
Aspect_Alignment,
+ Aspect_Attach_Handler,
Aspect_Bit_Order,
Aspect_Component_Size,
Aspect_Constant_Indexing,
@@ -56,6 +57,7 @@ package Aspects is
Aspect_External_Tag,
Aspect_Implicit_Dereference,
Aspect_Input,
+ Aspect_Interrupt_Priority,
Aspect_Invariant,
Aspect_Iterator_Element,
Aspect_Machine_Radix,
@@ -66,8 +68,10 @@ package Aspects is
Aspect_Pre,
Aspect_Precondition,
Aspect_Predicate, -- GNAT
+ Aspect_Priority,
Aspect_Read,
Aspect_Size,
+ Aspect_Small,
Aspect_Static_Predicate,
Aspect_Storage_Pool,
Aspect_Storage_Size,
@@ -104,12 +108,16 @@ package Aspects is
Aspect_Ada_2005, -- GNAT
Aspect_Ada_2012, -- GNAT
+ Aspect_Asynchronous,
Aspect_Atomic,
Aspect_Atomic_Components,
Aspect_Discard_Names,
Aspect_Favor_Top_Level, -- GNAT
+ Aspect_Independent,
+ Aspect_Independent_Components,
Aspect_Inline,
Aspect_Inline_Always, -- GNAT
+ Aspect_Interrupt_Handler,
Aspect_No_Return,
Aspect_Pack,
Aspect_Persistent_BSS, -- GNAT
@@ -166,7 +174,7 @@ package Aspects is
type Aspect_Expression is
(Optional, -- Optional boolean expression
- Expression, -- Required non-boolean expression
+ Expression, -- Required expression
Name); -- Required name
-- The following array indicates what argument type is required
@@ -175,6 +183,7 @@ package Aspects is
(No_Aspect => Optional,
Aspect_Address => Expression,
Aspect_Alignment => Expression,
+ Aspect_Attach_Handler => Expression,
Aspect_Bit_Order => Expression,
Aspect_Component_Size => Expression,
Aspect_Constant_Indexing => Name,
@@ -185,6 +194,7 @@ package Aspects is
Aspect_External_Tag => Expression,
Aspect_Implicit_Dereference => Name,
Aspect_Input => Name,
+ Aspect_Interrupt_Priority => Expression,
Aspect_Invariant => Expression,
Aspect_Iterator_Element => Name,
Aspect_Machine_Radix => Expression,
@@ -195,8 +205,10 @@ package Aspects is
Aspect_Pre => Expression,
Aspect_Precondition => Expression,
Aspect_Predicate => Expression,
+ Aspect_Priority => Expression,
Aspect_Read => Name,
Aspect_Size => Expression,
+ Aspect_Small => Expression,
Aspect_Static_Predicate => Expression,
Aspect_Storage_Pool => Name,
Aspect_Storage_Size => Expression,
@@ -226,8 +238,10 @@ package Aspects is
Aspect_Address => Name_Address,
Aspect_Alignment => Name_Alignment,
Aspect_All_Calls_Remote => Name_All_Calls_Remote,
+ Aspect_Asynchronous => Name_Asynchronous,
Aspect_Atomic => Name_Atomic,
Aspect_Atomic_Components => Name_Atomic_Components,
+ Aspect_Attach_Handler => Name_Attach_Handler,
Aspect_Bit_Order => Name_Bit_Order,
Aspect_Compiler_Unit => Name_Compiler_Unit,
Aspect_Component_Size => Name_Component_Size,
@@ -241,9 +255,13 @@ package Aspects is
Aspect_External_Tag => Name_External_Tag,
Aspect_Favor_Top_Level => Name_Favor_Top_Level,
Aspect_Implicit_Dereference => Name_Implicit_Dereference,
+ Aspect_Independent => Name_Independent,
+ Aspect_Independent_Components => Name_Independent_Components,
Aspect_Inline => Name_Inline,
Aspect_Inline_Always => Name_Inline_Always,
Aspect_Input => Name_Input,
+ Aspect_Interrupt_Handler => Name_Interrupt_Handler,
+ Aspect_Interrupt_Priority => Name_Interrupt_Priority,
Aspect_Invariant => Name_Invariant,
Aspect_Iterator_Element => Name_Iterator_Element,
Aspect_Machine_Radix => Name_Machine_Radix,
@@ -260,6 +278,7 @@ package Aspects is
Aspect_Preelaborable_Initialization => Name_Preelaborable_Initialization,
Aspect_Preelaborate => Name_Preelaborate,
Aspect_Preelaborate_05 => Name_Preelaborate_05,
+ Aspect_Priority => Name_Priority,
Aspect_Pure => Name_Pure,
Aspect_Pure_05 => Name_Pure_05,
Aspect_Pure_Function => Name_Pure_Function,
@@ -269,6 +288,7 @@ package Aspects is
Aspect_Shared => Name_Shared,
Aspect_Shared_Passive => Name_Shared_Passive,
Aspect_Size => Name_Size,
+ Aspect_Small => Name_Small,
Aspect_Static_Predicate => Name_Static_Predicate,
Aspect_Storage_Pool => Name_Storage_Pool,
Aspect_Storage_Size => Name_Storage_Size,