aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_dist.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/exp_dist.adb')
-rw-r--r--gcc/ada/exp_dist.adb20
1 files changed, 16 insertions, 4 deletions
diff --git a/gcc/ada/exp_dist.adb b/gcc/ada/exp_dist.adb
index 51dd15e..3048d4b 100644
--- a/gcc/ada/exp_dist.adb
+++ b/gcc/ada/exp_dist.adb
@@ -1200,9 +1200,14 @@ package body Exp_Dist is
Param : Node_Id;
Package_Name : Node_Id;
Subp_Id : Node_Id;
- Asynchronous : Node_Id;
+ Asynch_P : Node_Id;
Return_Value : Node_Id;
+ All_Calls_Remote : Entity_Id;
+ -- True if an All_Calls_Remote pragma applies to the RCI unit
+ -- that contains the subprogram (currently unused, all RAS
+ -- dereferences are handled through the PCS).
+
Loc : constant Source_Ptr := Sloc (N);
procedure Set_Field (Field_Name : in Name_Id; Value : in Node_Id);
@@ -1226,8 +1231,10 @@ package body Exp_Dist is
Param := Make_Defining_Identifier (Loc, New_Internal_Name ('P'));
Package_Name := Make_Defining_Identifier (Loc, New_Internal_Name ('S'));
Subp_Id := Make_Defining_Identifier (Loc, New_Internal_Name ('N'));
- Asynchronous := Make_Defining_Identifier (Loc, New_Internal_Name ('B'));
+ Asynch_P := Make_Defining_Identifier (Loc, New_Internal_Name ('B'));
Return_Value := Make_Defining_Identifier (Loc, New_Internal_Name ('P'));
+ All_Calls_Remote :=
+ Make_Defining_Identifier (Loc, New_Internal_Name ('A'));
-- Create the object which will be returned of type Fat_Type
@@ -1261,7 +1268,7 @@ package body Exp_Dist is
New_Occurrence_Of (Subp_Id, Loc));
Set_Field (Name_Async,
- New_Occurrence_Of (Asynchronous, Loc));
+ New_Occurrence_Of (Asynch_P, Loc));
-- Return the newly created value
@@ -1294,7 +1301,12 @@ package body Exp_Dist is
New_Occurrence_Of (Standard_Natural, Loc)),
Make_Parameter_Specification (Loc,
- Defining_Identifier => Asynchronous,
+ Defining_Identifier => Asynch_P,
+ Parameter_Type =>
+ New_Occurrence_Of (Standard_Boolean, Loc)),
+
+ Make_Parameter_Specification (Loc,
+ Defining_Identifier => All_Calls_Remote,
Parameter_Type =>
New_Occurrence_Of (Standard_Boolean, Loc))),