This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r146264 - in /trunk/gcc/ada: ChangeLog einfo.ad...
- From: charlet at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 17 Apr 2009 13:17:12 -0000
- Subject: r146264 - in /trunk/gcc/ada: ChangeLog einfo.ad...
Author: charlet
Date: Fri Apr 17 13:17:12 2009
New Revision: 146264
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=146264
Log:
2009-04-17 Ed Schonberg <schonberg@adacore.com>
* einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle
type extensions whose parent is a type with unknown discriminants.
* exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension
aggregate has unknown discriminants, use the Underlying_Record_View to
obtain the discriminants of the ancestor part.
* exp_disp.adb (Build_Dispatch_Tables): Types that are
Underlying_Record_Views share the dispatching information of the
original record extension.
* exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown
discriminants, propagate dispach table information to the
Underlying_Record_View.
* sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown
discriminants and declaration is not a completion, generate
Underlying_Record_View to provide proper discriminant information to
the front-end and to gigi.
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/einfo.adb
trunk/gcc/ada/einfo.ads
trunk/gcc/ada/exp_aggr.adb
trunk/gcc/ada/exp_ch3.adb
trunk/gcc/ada/exp_disp.adb
trunk/gcc/ada/sem_ch3.adb