diff options
author | Javier Miranda <miranda@adacore.com> | 2007-08-31 12:22:03 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2007-08-31 12:22:03 +0200 |
commit | f7d2a3f74ae12f8bfec0e273b5d405e4db73b0b7 (patch) | |
tree | 7b90323b95b349741e68a521d35908ee9e616a2b | |
parent | d5e96bc62a2cbda21d1d69d4c08b1bd22e9d3bbc (diff) | |
download | gcc-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.adb | 11 |
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, |