aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_util.ads
diff options
context:
space:
mode:
authorHristian Kirtchev <kirtchev@adacore.com>2015-11-18 11:30:12 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2015-11-18 11:30:12 +0100
commit7bf911b58345771e3be025a0b132912df4f566bd (patch)
tree7ad401950698ded421af216bdcf5077c24dbb5a7 /gcc/ada/exp_util.ads
parent8ebcad86e6aa747d9ca8a077ab1127a04d0d91d3 (diff)
downloadgcc-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.ads9
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);