summaryrefslogtreecommitdiff
path: root/gcc/ada/s-interr-hwint.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-29 10:34:32 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-08-29 10:34:32 +0000
commit9935a51fb320d9acc6eed03c8760c373cde169da (patch)
tree20049d71bee87808eccf7c9bbef6485f4049694c /gcc/ada/s-interr-hwint.adb
parent4f5fe47575bafb2cc08d3cbfc42d1bfb3887217c (diff)
downloadgcc-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.adb6
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;