OSDN Git Service

2007-04-20 Ed Schonberg <schonberg@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Jun 2007 10:26:05 +0000 (10:26 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 6 Jun 2007 10:26:05 +0000 (10:26 +0000)
commit8012aeacfcb15b5fa84f64565feb26d77283011e
treea6aef403ba2740ff9427d8dec69a70ef999786d4
parent4907451e24e11a9476d79aced783dd725c028da7
2007-04-20  Ed Schonberg  <schonberg@adacore.com>
    Thomas Quinot  <quinot@adacore.com>

* exp_ch7.ads, exp_ch7.adb (Expand_Cleanup_Actions): Set Sloc of
inserted cleanup code appropriately for GDB use.
(Make_Deep_Proc): Use Make_Handler_For_Ctrl_Operation to create
exception handler for Deep_Adjust or Deep_Finalize.
(Make_Handler_For_Ctrl_Operation): New subprogram. When runtime entity
Raise_From_Controlled_Operation is available, use a call to that
subprogram instead of a plain "raise Program_Error" node to raise
Program_Error if an exception is propagated from an Adjust or Finalize
operation.
(Insert_Actions_In_Scope_Around): If the statement to be wrapped
appears in the optional statement list of a triggering alternative, the
scope actions can be inserted directly there, and not in the list that
includes the asynchronous select itself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125400 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ada/exp_ch7.adb
gcc/ada/exp_ch7.ads