diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-29 16:25:19 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-29 16:25:19 +0200 |
commit | d85fd922e12315cd65061ed85f7afb40fe7ff958 (patch) | |
tree | 1a7fbadf4793fca844818142d46165e676ff37cc /gcc/ada/a-except.adb | |
parent | fd3d2680c8c025f29cb349a9af6292cf8bea50f5 (diff) | |
download | gcc-d85fd922e12315cd65061ed85f7afb40fe7ff958.zip gcc-d85fd922e12315cd65061ed85f7afb40fe7ff958.tar.gz gcc-d85fd922e12315cd65061ed85f7afb40fe7ff958.tar.bz2 |
[multiple changes]
2011-08-29 Robert Dewar <dewar@adacore.com>
* a-cdlili.ads, a-coinve.ads, a-coorma.adb, a-coorma.ads, s-tassta.adb,
a-cborma.adb, a-cborma.ads, a-cohama.ads, a-coorse.ads, a-cbhama.ads,
a-cborse.ads, a-cobove.adb, a-cobove.ads, a-cbhase.ads: Minor
reformatting.
2011-08-29 Tristan Gingold <gingold@adacore.com>
* exp_ch7.adb, exp_ch7.ads (Build_Exception_Handler): Move its spec to
package spec.
* exp_intr.adb (Expand_Unc_Deallocation): Use Build_Exception_Handler.
* a-except.adb, a-except-2005.adb (Rcheck_22): Do not defer aborts
while raising PE.
From-SVN: r178245
Diffstat (limited to 'gcc/ada/a-except.adb')
-rw-r--r-- | gcc/ada/a-except.adb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ada/a-except.adb b/gcc/ada/a-except.adb index 333dca5..6805bf4 100644 --- a/gcc/ada/a-except.adb +++ b/gcc/ada/a-except.adb @@ -1083,8 +1083,16 @@ package body Ada.Exceptions is end Rcheck_21; procedure Rcheck_22 (File : System.Address; Line : Integer) is + E : constant Exception_Id := Program_Error_Def'Access; begin - Raise_Program_Error_Msg (File, Line, Rmsg_22'Address); + -- This is "finalize/adjust raised exception". + -- As this exception is only raised with aborts defered, it must + -- call Raise_Exception_No_Defer, contrary to all other Rcheck + -- subprograms (which defer aborts). + -- This is coherent with Raise_From_Controlled_Operation. + + Exception_Data.Set_Exception_C_Msg (E, File, Line, 0, Rmsg_22'Address); + Raise_Current_Excep (E); end Rcheck_22; procedure Rcheck_23 (File : System.Address; Line : Integer) is |