diff options
author | Hristian Kirtchev <kirtchev@adacore.com> | 2015-11-18 11:30:12 +0100 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2015-11-18 11:30:12 +0100 |
commit | 7bf911b58345771e3be025a0b132912df4f566bd (patch) | |
tree | 7ad401950698ded421af216bdcf5077c24dbb5a7 /gcc/ada/exp_util.ads | |
parent | 8ebcad86e6aa747d9ca8a077ab1127a04d0d91d3 (diff) | |
download | gcc-7bf911b58345771e3be025a0b132912df4f566bd.zip gcc-7bf911b58345771e3be025a0b132912df4f566bd.tar.gz gcc-7bf911b58345771e3be025a0b132912df4f566bd.tar.bz2 |
re PR ada/66242 (Front-end error if exception propagation disabled)
2015-11-18 Hristian Kirtchev <kirtchev@adacore.com>
PR ada/66242
* exp_ch3.adb (Default_Initialize_Object): Reimplemented. Abort
defer / undefer pairs are now encapsulated in a block with
an AT END handler. Partial finalization now takes restriction
No_Exception_Propagation into account when generating blocks.
* exp_ch7.adb Various reformattings.
(Create_Finalizer): Change
the generation of abort defer / undefer pairs and explain the
lack of an AT END handler.
(Process_Transient_Objects): Add generation of abort defer/undefer
pairs.
* exp_ch9.adb Various reformattings.
(Build_Protected_Subprogram_Body): Use
Build_Runtime_Call to construct a call to Abort_Defer.
(Build_Protected_Subprogram_Call_Cleanup): Use
Build_Runtime_Call to construct a call to Abort_Undefer.
(Expand_N_Asynchronous_Select): Use Build_Runtime_Call to
construct a call to Abort_Defer.
* exp_intr.adb (Expand_Unc_Deallocation): Abort defer
/ undefer pairs are now encapsulated in a block with
an AT END handler. Finalization now takes restriction
No_Exception_Propagation into account when generating blocks.
* exp_util.ads, exp_util.adb (Wrap_Cleanup_Procedure): Removed.
From-SVN: r230531
Diffstat (limited to 'gcc/ada/exp_util.ads')
-rw-r--r-- | gcc/ada/exp_util.ads | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/gcc/ada/exp_util.ads b/gcc/ada/exp_util.ads index 10fd70c..1357b3b 100644 --- a/gcc/ada/exp_util.ads +++ b/gcc/ada/exp_util.ads @@ -1020,15 +1020,6 @@ package Exp_Util is -- predefined primitive operation. Some expansion activity (e.g. predicate -- checks) is disabled in such. - procedure Wrap_Cleanup_Procedure (N : Node_Id); - -- Given an N_Subprogram_Body node, this procedure adds an Abort_Defer call - -- at the start of the statement sequence, and an Abort_Undefer call at the - -- end of the statement sequence. All cleanup routines (i.e. those that are - -- called from "at end" handlers) must defer abort on entry and undefer - -- abort on exit. Note that it is assumed that the code for the procedure - -- does not contain any return statements which would allow the flow of - -- control to escape doing the undefer call. - private pragma Inline (Duplicate_Subexpr); pragma Inline (Force_Evaluation); |