Commit c3d593c9 by Thomas Quinot Committed by Arnaud Charlet

exp_dist.ads, [...] (Make_Transportable_Check): New subprogram…

exp_dist.ads, [...] (Make_Transportable_Check): New subprogram (GARLIC_Support.Build_Subprogram_Receiving_Stubs...

2007-04-20  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.ads, exp_dist.adb (Make_Transportable_Check): New subprogram
	(GARLIC_Support.Build_Subprogram_Receiving_Stubs,
	PolyORB_Support.Build_Subprogram_Receiving_Stubs):
	For a remote call to a function with a classwide return type, apply an
	E.4(18) check to the returned value.
	(Add_RACW_Primitive_Declarations_And_Bodies): Do not generate stubs for
	stream attributes of the designated type of an RACW, as they are not
	dispatching primitive operations.

From-SVN: r125403
parent 7853d934
......@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
-- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- Copyright (C) 1992-2007, 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- --
......@@ -27,6 +27,7 @@
-- This package contains utility routines used for the generation of the
-- stubs relevant to the distribution annex.
with Namet; use Namet;
with Types; use Types;
package Exp_Dist is
......@@ -110,4 +111,12 @@ package Exp_Dist is
-- not be generated in the package spec because this would cause an
-- incorrect attempt to freeze Taft amendment types declared in the spec.
function Make_Transportable_Check
(Loc : Source_Ptr;
Expr : Node_Id) return Node_Id;
-- Generate a check that the given expression (an actual in a remote
-- subprogram call, or the return value of a function in the context of
-- a remote call) satisfies the requirements for being transportable
-- across partitions, raising Program_Error if it does not.
end Exp_Dist;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment