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