gcc/gcc/ada exp_aggr.adb

charlet@gcc.gnu.org charlet@gcc.gnu.org
Wed Oct 27 13:01:00 GMT 2004


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	charlet@gcc.gnu.org	2004-10-27 13:01:19

Modified files:
	gcc/ada        : exp_aggr.adb 

Log message:
	2004-10-26  Ed Schonberg  <schonberg@gnat.com>
	
	* exp_aggr.adb (Safe_Component): An aggregate component that is an
	unchecked conversion is safe for in-place use if the expression of the
	conversion is safe.
	(Expand_Array_Aggregate): An aggregate that initializes an allocator may
	be expandable in place even if the aggregate does not come from source.
	(Convert_Array_Aggr_In_Allocator): New procedure to initialize the
	designated object of an allocator in place, rather than building it
	first on the stack. The previous scheme forces a full copy of the array,
	and may be altogether unsusable if the size of the array is too large
	for stack allocation.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ada/exp_aggr.adb.diff?cvsroot=gcc&r1=1.22&r2=1.23



More information about the Gcc-cvs mailing list