r138603 - in /trunk/gcc/ada: exp_aggr.adb exp_c...
charlet@gcc.gnu.org
charlet@gcc.gnu.org
Mon Aug 4 10:23:00 GMT 2008
Author: charlet
Date: Mon Aug 4 10:23:16 2008
New Revision: 138603
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=138603
Log:
2008-08-04 Gary Dismukes <dismukes@adacore.com>
* exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the
target to the type of the aggregate in the case where the target object
is class-wide.
* exp_ch5.adb (Expand_Simple_Function_Return): When the function's
result type is class-wide and inherently limited, and the expression
has a specific type, create a return object of the specific type, for
more efficient handling of returns of build-in-place aggregates (avoids
conversions of the class-wide return object to the specific type on
component assignments).
* sem_ch6.adb (Check_Return_Subtype_Indication): Suppress the error
about a type mismatch for a class-wide function with a return object
having a specific type when the object declaration doesn't come from
source. Such an object can result from the expansion of a simple return.
Modified:
trunk/gcc/ada/exp_aggr.adb
trunk/gcc/ada/exp_ch5.adb
trunk/gcc/ada/sem_ch6.adb
More information about the Gcc-cvs
mailing list