@@ -572,6 +572,7 @@ package body Aspects is
Aspect_Lock_Free => Aspect_Lock_Free,
Aspect_Machine_Radix => Aspect_Machine_Radix,
Aspect_Max_Entry_Queue_Depth => Aspect_Max_Entry_Queue_Depth,
+ Aspect_Max_Entry_Queue_Length => Aspect_Max_Entry_Queue_Length,
Aspect_Max_Queue_Length => Aspect_Max_Queue_Length,
Aspect_No_Caching => Aspect_No_Caching,
Aspect_No_Elaboration_Code_All => Aspect_No_Elaboration_Code_All,
@@ -116,7 +116,8 @@ package Aspects is
Aspect_Link_Name,
Aspect_Linker_Section, -- GNAT
Aspect_Machine_Radix,
- Aspect_Max_Entry_Queue_Depth,
+ Aspect_Max_Entry_Queue_Depth, -- GNAT
+ Aspect_Max_Entry_Queue_Length,
Aspect_Max_Queue_Length, -- GNAT
Aspect_No_Caching, -- GNAT
Aspect_Object_Size, -- GNAT
@@ -253,6 +254,7 @@ package Aspects is
Aspect_Invariant => True,
Aspect_Lock_Free => True,
Aspect_Max_Entry_Queue_Depth => True,
+ Aspect_Max_Entry_Queue_Length => True,
Aspect_Max_Queue_Length => True,
Aspect_Object_Size => True,
Aspect_Persistent_BSS => True,
@@ -376,6 +378,7 @@ package Aspects is
Aspect_Linker_Section => Expression,
Aspect_Machine_Radix => Expression,
Aspect_Max_Entry_Queue_Depth => Expression,
+ Aspect_Max_Entry_Queue_Length => Expression,
Aspect_Max_Queue_Length => Expression,
Aspect_No_Caching => Optional_Expression,
Aspect_Object_Size => Expression,
@@ -487,6 +490,7 @@ package Aspects is
Aspect_Lock_Free => Name_Lock_Free,
Aspect_Machine_Radix => Name_Machine_Radix,
Aspect_Max_Entry_Queue_Depth => Name_Max_Entry_Queue_Depth,
+ Aspect_Max_Entry_Queue_Length => Name_Max_Entry_Queue_Length,
Aspect_Max_Queue_Length => Name_Max_Queue_Length,
Aspect_No_Caching => Name_No_Caching,
Aspect_No_Elaboration_Code_All => Name_No_Elaboration_Code_All,
@@ -765,6 +769,7 @@ package Aspects is
Aspect_Initial_Condition => Never_Delay,
Aspect_Initializes => Never_Delay,
Aspect_Max_Entry_Queue_Depth => Never_Delay,
+ Aspect_Max_Entry_Queue_Length => Never_Delay,
Aspect_Max_Queue_Length => Never_Delay,
Aspect_No_Caching => Never_Delay,
Aspect_No_Elaboration_Code_All => Never_Delay,
@@ -1415,6 +1415,7 @@ begin
| Pragma_Main
| Pragma_Main_Storage
| Pragma_Max_Entry_Queue_Depth
+ | Pragma_Max_Entry_Queue_Length
| Pragma_Max_Queue_Length
| Pragma_Memory_Size
| Pragma_No_Body
@@ -3014,6 +3014,19 @@ package body Sem_Ch13 is
Insert_Pragma (Aitem);
goto Continue;
+ -- Max_Entry_Queue_Length
+
+ when Aspect_Max_Entry_Queue_Length =>
+ Make_Aitem_Pragma
+ (Pragma_Argument_Associations => New_List (
+ Make_Pragma_Argument_Association (Loc,
+ Expression => Relocate_Node (Expr))),
+ Pragma_Name => Name_Max_Entry_Queue_Length);
+
+ Decorate (Aspect, Aitem);
+ Insert_Pragma (Aitem);
+ goto Continue;
+
-- Max_Queue_Length
when Aspect_Max_Queue_Length =>
@@ -9651,6 +9664,7 @@ package body Sem_Ch13 is
| Aspect_Initial_Condition
| Aspect_Initializes
| Aspect_Max_Entry_Queue_Depth
+ | Aspect_Max_Entry_Queue_Length
| Aspect_Max_Queue_Length
| Aspect_No_Caching
| Aspect_Obsolescent
@@ -19572,16 +19572,18 @@ package body Sem_Prag is
end loop;
end Main_Storage;
- ----------------------
- -- Max_Queue_Length --
- ----------------------
+ ----------------------------
+ -- Max_Entry_Queue_Length --
+ ----------------------------
- -- pragma Max_Queue_Length (static_integer_EXPRESSION);
+ -- pragma Max_Entry_Queue_Length (static_integer_EXPRESSION);
- -- This processing is shared by Pragma_Max_Entry_Queue_Depth
+ -- This processing is shared by Pragma_Max_Entry_Queue_Depth and
+ -- Pragma_Max_Queue_Length.
- when Pragma_Max_Queue_Length
+ when Pragma_Max_Entry_Queue_Length
| Pragma_Max_Entry_Queue_Depth
+ | Pragma_Max_Queue_Length
=>
Max_Queue_Length : declare
Arg : Node_Id;
@@ -19590,7 +19592,9 @@ package body Sem_Prag is
Val : Uint;
begin
- if Prag_Id = Pragma_Max_Queue_Length then
+ if Prag_Id = Pragma_Max_Entry_Queue_Depth
+ or else Prag_Id = Pragma_Max_Queue_Length
+ then
GNAT_Pragma;
end if;
@@ -31059,6 +31063,7 @@ package body Sem_Prag is
Pragma_Main => -1,
Pragma_Main_Storage => -1,
Pragma_Max_Entry_Queue_Depth => 0,
+ Pragma_Max_Entry_Queue_Length => 0,
Pragma_Max_Queue_Length => 0,
Pragma_Memory_Size => 0,
Pragma_No_Body => 0,
@@ -399,6 +399,7 @@ package Sem_Prag is
-- Global
-- Initializes
-- Max_Entry_Queue_Depth
+ -- Max_Entry_Queue_Length
-- Max_Queue_Length
-- Post
-- Post_Class
@@ -592,7 +592,8 @@ package Snames is
Name_Machine_Attribute : constant Name_Id := N + $; -- GNAT
Name_Main : constant Name_Id := N + $; -- GNAT
Name_Main_Storage : constant Name_Id := N + $; -- GNAT
- Name_Max_Entry_Queue_Depth : constant Name_Id := N + $; -- Ada 12
+ Name_Max_Entry_Queue_Depth : constant Name_Id := N + $; -- GNAT
+ Name_Max_Entry_Queue_Length : constant Name_Id := N + $; -- Ada 12
Name_Max_Queue_Length : constant Name_Id := N + $; -- GNAT
Name_Memory_Size : constant Name_Id := N + $; -- Ada 83
Name_No_Body : constant Name_Id := N + $; -- GNAT
@@ -782,7 +783,6 @@ package Snames is
Name_Link_Name : constant Name_Id := N + $;
Name_Low_Order_First : constant Name_Id := N + $;
Name_Lowercase : constant Name_Id := N + $;
- Name_Max_Entry_Queue_Length : constant Name_Id := N + $;
Name_Max_Size : constant Name_Id := N + $;
Name_Mechanism : constant Name_Id := N + $;
Name_Message : constant Name_Id := N + $;
@@ -2007,6 +2007,7 @@ package Snames is
Pragma_Main,
Pragma_Main_Storage,
Pragma_Max_Entry_Queue_Depth,
+ Pragma_Max_Entry_Queue_Length,
Pragma_Max_Queue_Length,
Pragma_Memory_Size,
Pragma_No_Body,