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]

r128368 - in /trunk/gcc/ada: einfo.adb einfo.ad...


Author: charlet
Date: Tue Sep 11 11:03:53 2007
New Revision: 128368

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128368
Log:
2007-09-11  Javier Miranda  <miranda@adacore.com>

	* einfo.ads, einfo.adb (Dispatch_Table_Wrapper): New attribute. Present
	in library level record type entities if we are generating statically
	allocated dispatch tables.

	* exp_disp.adb (Make_Tags/Make_DT): Replace previous code
	importing/exporting the _tag declaration by new code
	importing/exporting the dispatch table wrapper. This change allows us
	to statically allocate of the TSD.
	(Make_DT.Export_DT): New procedure.
	(Build_Static_DT): New function.
	(Has_DT): New function.

	* freeze.adb (Freeze_Static_Object): Code cleanup: Do not reset flags
	True_Constant and Current_Value. Required to statically
	allocate the dispatch tables.
	(Check_Allocator): Make function iterative instead of recursive.
 	Also return inner allocator node, when present, so that we do not have
 	to look for that node again in the caller.


Modified:
    trunk/gcc/ada/einfo.adb
    trunk/gcc/ada/einfo.ads
    trunk/gcc/ada/exp_disp.adb
    trunk/gcc/ada/freeze.adb


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