aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2007-08-31 12:22:03 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2007-08-31 12:22:03 +0200
commitf7d2a3f74ae12f8bfec0e273b5d405e4db73b0b7 (patch)
tree7b90323b95b349741e68a521d35908ee9e616a2b
parentd5e96bc62a2cbda21d1d69d4c08b1bd22e9d3bbc (diff)
downloadgcc-f7d2a3f74ae12f8bfec0e273b5d405e4db73b0b7.zip
gcc-f7d2a3f74ae12f8bfec0e273b5d405e4db73b0b7.tar.gz
gcc-f7d2a3f74ae12f8bfec0e273b5d405e4db73b0b7.tar.bz2
exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise statement when compiling under restriction...
2007-08-31 Javier Miranda <miranda@adacore.com> * exp_ch11.adb (Expand_At_End_Handler): Avoid generation of raise statement when compiling under restriction No_Exceptions_Proparation. From-SVN: r127971
-rw-r--r--gcc/ada/exp_ch11.adb11
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ada/exp_ch11.adb b/gcc/ada/exp_ch11.adb
index 0bf8711..bf2381f 100644
--- a/gcc/ada/exp_ch11.adb
+++ b/gcc/ada/exp_ch11.adb
@@ -142,8 +142,15 @@ package body Exp_Ch11 is
Stmnts := New_List (
Make_Procedure_Call_Statement (Loc,
- Name => New_Occurrence_Of (Clean, Loc)),
- Make_Raise_Statement (Loc));
+ Name => New_Occurrence_Of (Clean, Loc)));
+
+ -- Avoid generation of raise stmt if compiling with no exceptions
+ -- propagation
+
+ if not Restriction_Active (No_Exception_Propagation) then
+ Append_To (Stmnts,
+ Make_Raise_Statement (Loc));
+ end if;
Set_Exception_Handlers (HSS, New_List (
Make_Implicit_Exception_Handler (Loc,