This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Ada] add missing check on cxe4005


Tested on i686-linux, committed on trunk

This change adds a missing check for legality of the returned value
for remote calls to functions with a classwide return type.

We happened to previously enforce this rule by accident, but recent
changes uncovered the fact that we did not properly check for this
legality rule. This change adds explicit checks at the appropriate place.

See ACATS test CXE4005.

This change is also necessary to support RACWs that designate a limited
controlled type, as such types have explicit stream attribute TSS
primitives which we want to skip when generating stubs.

2007-06-06  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.

Attachment: difs
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]