diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-29 10:34:32 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-29 10:34:32 +0000 |
commit | 9935a51fb320d9acc6eed03c8760c373cde169da (patch) | |
tree | 20049d71bee87808eccf7c9bbef6485f4049694c /gcc/ada/s-interr-hwint.adb | |
parent | 4f5fe47575bafb2cc08d3cbfc42d1bfb3887217c (diff) | |
download | gcc-9935a51fb320d9acc6eed03c8760c373cde169da.tar.gz |
2011-08-29 Tristan Gingold <gingold@adacore.com>
* exp_sel.ads (Build_Abort_BLock_Handler): New function spec.
Adjust comment.
* exp_sel.adb (Build_Abort_Block): Use Build_Abort_Block_Handler.
(Build_Abort_Block_Handler): New function to build an Abort_Signal
exception handler.
* exp_ch9.adb (Expand_N_Asynchronous_Select): Call
Build_Abort_Block_Handler to build the exception handler. Do not
undefer aborts for the Abort_Signal exception handler if back-end
exception mechanism.
* exp_ch11.adb (Expand_Exception_Handlers): Do not undefer aborts if
back_end exceptions for all others and abort_signal.
* s-except.ads (ZCX_By_Default): New constant.
* a-except-2005.adb (Raise_Exception): Do not defer abort if ZCX.
(Raise_Exception_Always): Ditto.
(Raise_From_Signal_Handler): Ditto.
(Raise_With_Location_And_Msg): Ditto.
(Raise_With_Msg): Ditto.
(Reraise): Ditto.
(Reraise_Occurence): Ditto.
(Reraise_Occurrence_Always): Ditto.
* s-tasren.adb (Exceptional_Complete_Rendezvous): Defer aborts if ZCX.
* s-tpobop.adb: (Exceptional_Complete_Body): Undefer abort if ZCX.
* s-interr-hwint.adb (Interrupt_Manager): Defer abort if ZCX.
2011-08-29 Thomas Quinot <quinot@adacore.com>
* sem_util.ads (Get_Enum_Lit_From_Pos): Clarify documentation.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178194 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/s-interr-hwint.adb')
-rw-r--r-- | gcc/ada/s-interr-hwint.adb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/ada/s-interr-hwint.adb b/gcc/ada/s-interr-hwint.adb index 038db362f23..3cd50020ff8 100644 --- a/gcc/ada/s-interr-hwint.adb +++ b/gcc/ada/s-interr-hwint.adb @@ -6,7 +6,7 @@ -- -- -- B o d y -- -- -- --- Copyright (C) 1992-2009, Free Software Foundation, Inc. -- +-- Copyright (C) 1992-2011, Free Software Foundation, Inc. -- -- -- -- GNARL is free software; you can redistribute it and/or modify it under -- -- terms of the GNU General Public License as published by the Free Soft- -- @@ -1025,6 +1025,10 @@ package body System.Interrupts is exception when Standard'Abort_Signal => + if ZCX_By_Default then + Initialization.Defer_Abort_Nestable (STPO.Self); + end if; + -- Flush interrupt server semaphores, so they can terminate Finalize_Interrupt_Servers; raise; |