[Ada] Add No_Implicit_Task_Allocations and No_Implicit_PO_Allocations to Jorvik

gcc/ada/

	* libgnat/s-rident.ads (Profile_Info): Use a common profile
	definition for Jorvik and GNAT Extended Ravenscar, using the
	GNAT Extended Ravenscar definition.
This commit is contained in:
Patrick Bernardi 2020-08-17 15:32:01 -04:00 committed by Pierre-Marie de Rodat
parent b1f909cfc1
commit 61d832dee4
1 changed files with 9 additions and 42 deletions

View File

@ -551,9 +551,10 @@ package System.Rident is
Max_Task_Entries => 0,
others => 0)),
Jorvik =>
Jorvik | GNAT_Extended_Ravenscar =>
-- Restrictions for Jorvik profile ..
-- Restrictions for Jorvik profile, previously known
-- known as the GNAT_Extended_Ravenscar profile.
-- Note: the table entries here only represent the
-- required restriction profile for Jorvik. The
@ -567,7 +568,12 @@ package System.Rident is
-- as follows:
-- 1) Ravenscar includes restriction Simple_Barriers;
-- Jorvik includes Pure_Barriers instead.
-- 2) The following 6 restrictions are included in
-- 2) The No_Implicit_Heap_Allocations restriction is
-- lifted and replaced with the following
-- restrictions:
-- No_Implicit_Task_Allocations
-- No_Implicit_Protected_Object_Allocations
-- 3) The following 6 restrictions are included in
-- Ravenscar but not in Jorvik:
-- No_Implicit_Heap_Allocations
-- No_Relative_Delay
@ -579,45 +585,6 @@ package System.Rident is
-- The last of those 7 (i.e., No_Dep => Ada.Synch_Bars)
-- is not reflected here (see sem_prag.adb).
(Set =>
(No_Abort_Statements => True,
No_Asynchronous_Control => True,
No_Dynamic_Attachment => True,
No_Dynamic_CPU_Assignment => True,
No_Dynamic_Priorities => True,
No_Local_Protected_Objects => True,
No_Protected_Type_Allocators => True,
No_Requeue_Statements => True,
No_Task_Allocators => True,
No_Task_Attributes_Package => True,
No_Task_Hierarchy => True,
No_Terminate_Alternatives => True,
Max_Asynchronous_Select_Nesting => True,
Max_Select_Alternatives => True,
Max_Task_Entries => True,
-- plus these additional restrictions:
No_Local_Timing_Events => True,
No_Select_Statements => True,
No_Specific_Termination_Handlers => True,
No_Task_Termination => True,
Pure_Barriers => True,
others => False),
-- Value settings for Ravenscar (same as Restricted)
Value =>
(Max_Asynchronous_Select_Nesting => 0,
Max_Select_Alternatives => 0,
Max_Task_Entries => 0,
others => 0)),
GNAT_Extended_Ravenscar =>
-- Restrictions for GNAT_Extended_Ravenscar =
-- Restricted profile ..
(Set =>
(No_Abort_Statements => True,
No_Asynchronous_Control => True,