diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-18 11:49:26 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-18 11:49:26 +0000 |
commit | c1b50e6ed6803b02306094b9ce400e4eb9807021 (patch) | |
tree | 7cb890101cd69f15c9c050917024b75c2e82a801 /gcc/ada/sem_dist.ads | |
parent | b5f5f125aad8e84812b60b5201e24a8d4964ec4d (diff) | |
download | gcc-c1b50e6ed6803b02306094b9ce400e4eb9807021.tar.gz |
2005-03-17 Thomas Quinot <quinot@adacore.com>
* exp_dist.adb (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
spec, to make this predicate available to other units.
* rtsfind.adb (Check_RPC): Use Sem_Dist.Get_PCS_Name instead of
reimplementing it.
* sem_ch8.adb: Disable expansion of remote access-to-subprogram types
when no distribution runtime library is available.
* sem_res.adb, sem_dist.adb: Disable expansion of remote
access-to-subprogram types when no distribution runtime library is
available.
(Get_PCS_Name): Move from Exp_Dist body to Sem_Dist spec, to make this
predicate available to other units.
* sem_dist.ads (Get_PCS_Name): Move from Exp_Dist body to Sem_Dist
spec, to make this predicate available to other units.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96668 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/sem_dist.ads')
-rw-r--r-- | gcc/ada/sem_dist.ads | 51 |
1 files changed, 27 insertions, 24 deletions
diff --git a/gcc/ada/sem_dist.ads b/gcc/ada/sem_dist.ads index 4acf872baf4..f6f59084730 100644 --- a/gcc/ada/sem_dist.ads +++ b/gcc/ada/sem_dist.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2004 Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2005 Free Software Foundation, Inc. -- -- -- -- GNAT is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -26,15 +26,20 @@ -- Semantic processing for distribution annex facilities -with Types; use Types; +with Snames; use Snames; +with Types; use Types; package Sem_Dist is + function Get_PCS_Name return PCS_Names; + -- Return the name of a literal of type System.Partition_Interface. + -- DSA_Implementation_Type indicating what PCS is currently in use. + procedure Add_Stub_Constructs (N : Node_Id); -- Create the stubs constructs for a remote call interface package - -- specification or body or for a shared passive specification. For - -- caller stubs, expansion takes place directly in the specification and - -- no additional compilation unit is created. + -- specification or body or for a shared passive specification. For caller + -- stubs, expansion takes place directly in the specification and no + -- additional compilation unit is created. function Build_RAS_Primitive_Specification (Subp_Spec : Node_Id; @@ -59,35 +64,33 @@ package Sem_Dist is -- whose return type is New_Type. procedure Process_Remote_AST_Declaration (N : Node_Id); - -- Given N, an access to subprogram type declaration node in RCI or - -- remote types unit, build a new record (fat pointer) type declaration - -- using the old Defining_Identifier of N and a link to the old - -- declaration node N whose Defining_Identifier is changed. - -- We also construct declarations of two subprograms in the unit - -- specification which handle remote access to subprogram type - -- (fat pointer) dereference and the unit receiver that handles - -- remote calls (from remote access to subprogram type values.) + -- Given N, an access to subprogram type declaration node in RCI or remote + -- types unit, build a new record (fat pointer) type declaration using the + -- old Defining_Identifier of N and a link to the old declaration node N + -- whose Defining_Identifier is changed. We also construct declarations of + -- two subprograms in the unit specification which handle remote access to + -- subprogram type (fat pointer) dereference and the unit receiver that + -- handles remote calls (from remote access to subprogram type values.) function Remote_AST_E_Dereference (P : Node_Id) return Boolean; -- If the prefix of an explicit dereference is a record type that - -- represent the fat pointer for an Remote access to subprogram, in - -- the context of a call, rewrite the enclosing call node into a - -- remote call, the first actual of which is the fat pointer. Return - -- true if the context is correct and the transformation took place. + -- represent the fat pointer for an Remote access to subprogram, in the + -- context of a call, rewrite the enclosing call node into remote call, + -- the first actual of which is the fat pointer. Return true if the + -- context is correct and the transformation took place. function Remote_AST_I_Dereference (P : Node_Id) return Boolean; -- If P is a record type that represents the fat pointer for a remote - -- access to subprogram, and P is the prefix of a call, insert an - -- explicit dereference and perform the transformation described for - -- the previous function. + -- access to subprogram, and P is the prefix of a call, insert an explicit + -- dereference and perform the transformation described for the previous + -- function. function Remote_AST_Null_Value (N : Node_Id; Typ : Entity_Id) return Boolean; - -- If N is a null value and Typ a remote access to subprogram type, - -- this function will check if null needs to be replaced with an - -- aggregate and will return True in this case. Otherwise, it will - -- return False. + -- If N is a null value and Typ a remote access to subprogram type, this + -- function will check if null needs to be replaced with an aggregate and + -- will return True in this case. Otherwise, it will return False. function Package_Specification_Of_Scope (E : Entity_Id) return Node_Id; -- Return the N_Package_Specification corresponding to a scope E |