At 9:23 AM -0400 6/7/02, Brian Tillman wrote:
>$ set default [.t]
>$ mcr [-]miniperl -c [.base]num.t
>%SYSTEM-F-FLTOVF_F, arithmetic fault, floating overflow at PC=0008C251,
>PSL=03C0
>0000
>%TRACE-F-TRACEBACK, symbolic stack dump follows
>module name     routine name                     line       rel PC    abs PC
>
>NUMERIC         S_mulexp10                      43613      0000006D

I can reproduce this with a D_FLOAT build on Alpha, though for some
reason I don't get the stack dump:

$ mcr []miniperl -e "$a=1e31; print $a;"
1e+31
$ mcr []miniperl -e "$a=1e32; print $a;"
$ write sys$output f$message($status)
%SYSTEM-F-HPARITH, high performance arithmetic trap, Imask=!XL, Fmask=!XL, 
summary=!XB, PC=!XH, PS=!XL

The reason you didn't see it during the original build is you didn't
try to represent a number larger than 1e31, which looks like our
upper limit with D_FLOAT.  There is some wacky magic in that
S_mulexp10 routine that I don't quite understand but it's clear it's
not working right for D_FLOAT.
-- 
________________________________________
Craig A. Berry
mailto:[EMAIL PROTECTED]

"... getting out of a sonnet is much more
 difficult than getting in."
                 Brad Leithauser

Reply via email to