diff options
Diffstat (limited to 'gcc/ada/exp_ch7.ads')
-rw-r--r-- | gcc/ada/exp_ch7.ads | 29 |
1 files changed, 15 insertions, 14 deletions
diff --git a/gcc/ada/exp_ch7.ads b/gcc/ada/exp_ch7.ads index 8a0be81..8ea7191 100644 --- a/gcc/ada/exp_ch7.ads +++ b/gcc/ada/exp_ch7.ads @@ -41,33 +41,34 @@ package Exp_Ch7 is -- that take care of finalization management at run-time. -- Support of exceptions from user finalization procedures - -- + -- There is a specific mechanism to handle these exceptions, continue - -- finalization and then raise PE. - -- This mechanism is used by this package but also by exp_intr for - -- Ada.Unchecked_Deallocation. + -- finalization and then raise PE. This mechanism is used by this package + -- but also by exp_intr for Ada.Unchecked_Deallocation. + -- There are 3 subprograms to use this mechanism, and the type -- Finalization_Exception_Data carries internal data between these -- subprograms: -- - -- 1. Build_Object_Declaration: create the variables for the next two - -- subprograms. - -- 2. Build_Exception_Handler: create the exception handler for a call to - -- a user finalization procedure. - -- 3. Build_Raise_Stmt: create the code to potentially raise a PE exception - -- if am exception was raise in a user finalization procedure. + -- 1. Build_Object_Declaration: create the variables for the next two + -- subprograms. + -- 2. Build_Exception_Handler: create the exception handler for a call + -- to a user finalization procedure. + -- 3. Build_Raise_Stmt: create code to potentially raise a PE exception + -- if an exception was raise in a user finalization procedure. + type Finalization_Exception_Data is record - Loc : Source_Ptr; + Loc : Source_Ptr; -- Sloc for the added nodes - Abort_Id : Entity_Id; + Abort_Id : Entity_Id; -- Boolean variable set to true if the finalization was triggered by -- an abort. - E_Id : Entity_Id; + E_Id : Entity_Id; -- Variable containing the exception occurrence raised by user code - Raised_Id : Entity_Id; + Raised_Id : Entity_Id; -- Boolean variable set to true if an exception was raised in user code end record; |