This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
The runtime was handling SIGFPE slightly differently in the non-tasking and tasking cases on Solaris, leading for example to unexpected differences in behavior when a division by zero was encountered. This patch eliminates the discrepancy as well as aligns the Solaris specific code with that of other POSIX platforms. The following testcase must print Tasking: FPE Handler on Solaris when compiled with -gnatp: with Ada.Text_IO; procedure Fpe_Tasking is task T; task body T is D : Integer; function Return_Zero return Integer is begin return 0; end Return_Zero; begin D := Return_Zero; declare begin D := 1 / D; exception when Constraint_Error => Ada.Text_IO.Put_Line ("Tasking: FPE Handler"); end; end T; begin null; end; Tested on x86_64-pc-linux-gnu, committed on trunk 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.
Attachment:
difs
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |