exp_aggr.adb
229 KB
-
exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the target to the… · 05a76b51
exp_aggr.adb (Build_Record_Aggr_Code): Perform a conversion of the target to the type of the aggregate in the case... 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. From-SVN: r138603
Gary Dismukes committed