http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48438
--- Comment #2 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot
Uni-Bielefeld.DE> 2011-04-26 17:36:51 UTC ---
> - large_real_kind_2.F90
> Fails for CTEST_POWER(0.0, 5.4), which is:
> abs(0.0**5.4 - 0.0**5.4)/(0.0**5.4) > eps
> xxxxxxxx 88888888 88888888
> where "x" is complex(kind=16) ("selected_real_kind (precision (0.0_8) + 1)")
> and "8" is complex(8).
> The numeric expression gives 0.0/0.0 = NaN - and "NaN > eps" gives
> here FALSE - but on Tru64 seemingly SIGABRT?
No, the SIGFPE already happens in the cpow (0.0, 0.0, 5.4, 0.0) call.
If I compile with -mieee instead, I get SIGFPE for
75 CTEST_POWER (0.0,1.0)
complex(3) states:
cpow(), cpowf() sqrt(a**2 + b**2) > overflow
max_float
cpow(), cpowf() c/2 * ln(a**2 + b**2) > overflow
max_float
cpow(), cpowf() c/2 * ln(a**2 + b**2) - overflow
(d * atan2(b,c)) >
max_float
____________________________________________________________________
__________________________________________________________________
Value Name Data Type Hexadecimal Value Decimal Value
__________________________________________________________________
max_float F_FLOAT FFFF7FFF 1.701411e38
G_FLOAT FFFFFFFFFFFF7 8.988465674311579e307
S_FLOAT 7F7FFFFF 3.402823e38
T_FLOAT 7FEFFFFFFFFFFFFF
F_FLOAT and G_FLOAT is the VAX single resp. double format, while S_FLOAT
and T_FLOAT are IEEE single and double.
Rainer