r111060 - in /trunk/gcc/ada: exp_ch4.adb exp_ch...

charlet@gcc.gnu.org charlet@gcc.gnu.org
Wed Feb 15 09:38:00 GMT 2006


Author: charlet
Date: Wed Feb 15 09:38:10 2006
New Revision: 111060

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=111060
Log:
2006-02-13  Thomas Quinot  <quinot@adacore.com>
	    Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_Allocator_Expression): Pass Allocator => True to
	Make_Adjust_Call done for a newly-allocated object.

	* exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): If the statements
	in a subprogram are wrapped in a cleanup block, indicate that the
	subprogram contains an inner block with an exception handler.
	(Make_Adjust_Call): New Boolean formal Allocator indicating whether the
	Adjust call is for a newly-allocated object. In that case we must not
	assume that the finalization list chain pointers are correct (since they
	come from a bit-for-bit copy of the original object's pointers) so if
	the attach level would otherwise be zero (no change), we set it to 4
	instead to cause the pointers to be reset to null.

	* s-finimp.adb (Attach_To_Final_List): New attach level: 4, meaning
	reset chain pointers to null.


Modified:
    trunk/gcc/ada/exp_ch4.adb
    trunk/gcc/ada/exp_ch7.adb
    trunk/gcc/ada/exp_ch7.ads
    trunk/gcc/ada/s-finimp.adb



More information about the Gcc-cvs mailing list