summaryrefslogtreecommitdiff
path: root/gcc/ada/s-parint.ads
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-03 15:37:33 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2005-01-03 15:37:33 +0000
commit726ace2b071657807c0e35a969d6bbbb1ea21533 (patch)
tree5e000a55efc0822988383d971a8b00fa7a96fab1 /gcc/ada/s-parint.ads
parentd6cba86091d59e81c87f2eb8e95dd5e07037bf4b (diff)
downloadgcc-726ace2b071657807c0e35a969d6bbbb1ea21533.tar.gz
* exp_dist.adb:
Declare subprogram index in Build_RPC_Receiver_Body, to reduce the amount of PCS-specific code in RACW stubs generation. (Copy_Specification): Set Etype on copied formal parameter entities, as this information is needed for PolyORB stubs generation. (PolyORB_Support.Build_Subprogram_Receiving_Stubs): Remove unused variable Dynamic_Async. (Build_Subprogram_Receiving_Stubs): Make PCS-specific (Build_RPC_Receiver_Specification): Make generic again, as recent changes have allowed RPC receivers to have the same profile for both variants of the PCS. Reorganise RPC receiver generation to reduce differences between the structure of GARLIC and PolyORB RPC receivers. (Add_Receiving_Stubs_To_Declarations): Make this subprogram PCS-specific. Simplify elaboration code for RCI packages. * s-parint.ads, s-parint.adb, rtsfind.ads: Reorganise RPC receiver generation to reduce differences between the structure of GARLIC and PolyORB RPC receivers. * s-stratt.adb: Fix typo in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92837 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-parint.ads')
-rw-r--r--gcc/ada/s-parint.ads18
1 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ada/s-parint.ads b/gcc/ada/s-parint.ads
index e1dab339172..2216514c72d 100644
--- a/gcc/ada/s-parint.ads
+++ b/gcc/ada/s-parint.ads
@@ -35,6 +35,7 @@
-- an appropriate WITH, and the interface can be expected to remain stable.
with Ada.Exceptions;
+with Ada.Streams;
with Interfaces;
with System.RPC;
@@ -89,6 +90,20 @@ package System.Partition_Interface is
-- Do not change its definition or its layout without updating
-- Exp_Dist.Build_Remote_Supbrogram_Proxy_Type.
+ -- The Request_Access type is used for communication between the PCS
+ -- and the RPC receiver generated by the compiler: it contains all the
+ -- necessary information for the receiver to process an incoming call.
+
+ type RST_Access is access all Ada.Streams.Root_Stream_Type'Class;
+ type Request_Access is record
+ Params : RST_Access;
+ -- A stream describing the called subprogram and its parameters
+
+ Result : RST_Access;
+ -- A stream where the result, raised exception, or out values,
+ -- are marshalled.
+ end record;
+
procedure Check
(Name : Unit_Name;
Version : String;
@@ -131,9 +146,10 @@ package System.Partition_Interface is
pragma No_Return (Raise_Program_Error_Unknown_Tag);
-- Raise Program_Error with the same message as E one
+ type RPC_Receiver is access procedure (R : Request_Access);
procedure Register_Receiving_Stub
(Name : Unit_Name;
- Receiver : RPC.RPC_Receiver;
+ Receiver : RPC_Receiver;
Version : String := "";
Subp_Info : System.Address;
Subp_Info_Len : Integer);