exp_ch7.adb (Make_Transient_Block): if statement is within exception handler...

* exp_ch7.adb (Make_Transient_Block): if statement is within
	exception handler, always use new transient scope to place Clean
	procedure.

From-SVN: r46208
This commit is contained in:
Ed Schonberg 2001-10-11 23:50:31 +00:00 committed by Geert Bosch
parent be98560f31
commit 9e2b96271d
2 changed files with 9 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2001-10-11 Ed Schonberg <schonber@gnat.com>
* exp_ch7.adb (Make_Transient_Block): if statement is within
exception handler, always use new transient scope to place Clean
procedure.
2001-10-11 Pascal Obry <obry@gnat.com>
* Makefile.in:

View File

@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
-- $Revision: 1.245 $
-- $Revision$
-- --
-- Copyright (C) 1992-2001, Free Software Foundation, Inc. --
-- --
@ -2404,6 +2404,7 @@ package body Exp_Ch7 is
is
Flist : constant Entity_Id := Finalization_Chain_Entity (Current_Scope);
Decls : constant List_Id := New_List;
Par : constant Node_Id := Parent (Action);
Instrs : constant List_Id := New_List (Action);
Blk : Node_Id;
@ -2413,6 +2414,7 @@ package body Exp_Ch7 is
if Uses_Sec_Stack (Current_Scope)
and then No (Flist)
and then Nkind (Action) /= N_Return_Statement
and then Nkind (Par) /= N_Exception_Handler
then
declare