This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]