gcc/gcc/ada exp_ch4.adb exp_ch5.adb

charlet@gcc.gnu.org charlet@gcc.gnu.org
Mon Sep 5 07:47:00 GMT 2005


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	charlet@gcc.gnu.org	2005-09-05 07:47:27

Modified files:
	gcc/ada        : exp_ch4.adb exp_ch5.adb 

Log message:
	2005-09-01  Robert Dewar  <dewar@adacore.com>
	Gary Dismukes  <dismukes@adacore.com>
	Javier Miranda  <miranda@adacore.com>
	
	* exp_ch4.adb (Expand_N_In): Replace test of expression in its own
	type by valid test and generate warning.
	(Tagged_Membership): Generate call to the run-time
	subprogram IW_Membership in case of "Iface_CW_Typ in Typ'Class"
	Change formal name Subtype_Mark to Result_Definition in several calls to
	Make_Function_Specification.
	(Expand_Allocator_Expression): Add tests for suppression of the AI-344
	check for proper accessibility of the operand of a class-wide allocator.
	The check can be left out if checks are suppressed or if the expression
	has a specific tagged type whose level is known to be safe.
	
	* exp_ch5.adb (Expand_N_Assignment_Statement): Simplify the code that
	generates the run-time check associated with null-excluding entities.
	(Expand_N_Return_Statement): Add tests to determine if the accessibility
	check on the level of the return expression of a class-wide function
	can be elided. The check usually isn't needed if the expression has a
	specific type (unless it's a conversion or a formal parameter). Also
	add a test for whether accessibility checks are suppressed. Augment
	the comments to describe the conditions for performing the check.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_ch4.adb.diff?cvsroot=gcc&r1=1.36&r2=1.37
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_ch5.adb.diff?cvsroot=gcc&r1=1.28&r2=1.29



More information about the Gcc-cvs mailing list