aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/s-intman-solaris.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2009-06-19 12:32:08 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2009-06-19 12:32:08 +0200
commit1175f0b6e5ee84cd460248c9a19fae521135d0e3 (patch)
tree0585d2a25e513092897376dbaffd0c5da52d3030 /gcc/ada/s-intman-solaris.adb
parent7e9c61e83e48581f9808b3796f474094aa58e3ce (diff)
downloadgcc-1175f0b6e5ee84cd460248c9a19fae521135d0e3.zip
gcc-1175f0b6e5ee84cd460248c9a19fae521135d0e3.tar.gz
gcc-1175f0b6e5ee84cd460248c9a19fae521135d0e3.tar.bz2
[multiple changes]
2009-06-19 Robert Dewar <dewar@adacore.com> * g-cgi.adb: Minor reformatting 2009-06-19 Eric Botcazou <ebotcazou@adacore.com> * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the signal code for SIGFPE and raise Program_Error for SIGILL. * s-osinte-solaris.ads: Remove signal code constants for SIGFPE. 2009-06-19 Ed Schonberg <schonberg@adacore.com> * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a generic package if there is a visibility candidate that is declared in a regular package. From-SVN: r148691
Diffstat (limited to 'gcc/ada/s-intman-solaris.adb')
-rw-r--r--gcc/ada/s-intman-solaris.adb33
1 files changed, 10 insertions, 23 deletions
diff --git a/gcc/ada/s-intman-solaris.adb b/gcc/ada/s-intman-solaris.adb
index e8bd6ff..170cd82 100644
--- a/gcc/ada/s-intman-solaris.adb
+++ b/gcc/ada/s-intman-solaris.adb
@@ -89,40 +89,27 @@ package body System.Interrupt_Management is
info : access siginfo_t;
context : access ucontext_t)
is
+ pragma Unreferenced (info);
+
begin
-- Perform the necessary context adjustments prior to a raise
-- from a signal handler.
Adjust_Context_For_Raise (signo, context.all'Address);
- -- Check that treatment of exception propagation here
- -- is consistent with treatment of the abort signal in
- -- System.Task_Primitives.Operations.
+ -- Check that treatment of exception propagation here is consistent with
+ -- treatment of the abort signal in System.Task_Primitives.Operations.
case signo is
when SIGFPE =>
- case info.si_code is
- when FPE_INTDIV |
- FPE_INTOVF |
- FPE_FLTDIV |
- FPE_FLTOVF |
- FPE_FLTUND |
- FPE_FLTRES |
- FPE_FLTINV |
- FPE_FLTSUB =>
-
- raise Constraint_Error;
-
- when others =>
- pragma Assert (False);
- null;
- end case;
-
- when SIGILL | SIGSEGV | SIGBUS =>
+ raise Constraint_Error;
+ when SIGILL =>
+ raise Program_Error;
+ when SIGSEGV =>
+ raise Storage_Error;
+ when SIGBUS =>
raise Storage_Error;
-
when others =>
- pragma Assert (False);
null;
end case;
end Notify_Exception;