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