From 76da7265320010c7a273ed99f53938c0f32d5fad Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Wed, 11 Apr 2012 16:30:13 -0300 Subject: Fix ilogb exception and errno (bug 6794) [BZ #6794] Following Joseph comments about bug 6794, here is a proposed fix. It turned out to be a large fix mainly because I had to move some file along to follow libm files/names conventions. Basically I have added wrappers (w_ilogb.c, w_ilogbf.c, w_ilogbl.c) that now calls the symbol '__ieee754_ilogb'. The wrappers checks for '__ieee754_ilogb' output and set the errno and raise exceptions as expected. The '__ieee754_ilogb' is implemented in sysdeps. I have moved the 's_ilogb[f|l]' files to e_ilogb[f|l] and renamed the '__ilogb[f|l]' to '__ieee754_ilogb[f|l]'. I also found out a bug in i386 and x86-64 assembly coded ilogb implementation where it raises a FE_DIVBYZERO when argument is '0.0'. I corrected this issue as well. Finally I added the errno and FE_INVALID tests for 0.0, NaN and +-InF argument. Tested on i386, x86-64, ppc32 and ppc64. --- NEWS | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'NEWS') diff --git a/NEWS b/NEWS index 9812e0e..7ccb50b 100644 --- a/NEWS +++ b/NEWS @@ -12,16 +12,16 @@ Version 2.16 174, 350, 369, 411, 706, 2074, 2541, 2547, 2548, 2551, 2552, 2553, 2554, 2562, 2563, 2565, 2566, 2576, 2636, 2678, 3335, 3768, 3866, 3868, 3976, 3992, 4026, 4108, 4596, 4822, 5077, 5461, 5805, 5993, 6471, 6486, 6578, - 6649, 6730, 6770, 6884, 6890, 6894, 6895, 6907, 6911, 9739, 9902, 10110, - 10135, 10140, 10153, 10210, 10254, 10346, 10545, 10716, 11174, 11322, - 11365, 11451, 11494, 11521, 11959, 12047, 12340, 13058, 13525, 13526, - 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, 13552, - 13553, 13555, 13559, 13566, 13583, 13592, 13618, 13637, 13656, 13658, - 13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738, 13760, 13761, - 13786, 13792, 13806, 13824, 13840, 13841, 13844, 13846, 13851, 13852, - 13854, 13871, 13872, 13873, 13879, 13883, 13892, 13895, 13908, 13910, - 13911, 13912, 13913, 13915, 13916, 13917, 13918, 13919, 13920, 13921, - 13926, 13928, 13938, 13963, 13967, 13973 + 6649, 6730, 6770, 6794, 6884, 6890, 6894, 6895, 6907, 6911, 9739, 9902, + 10110, 10135, 10140, 10153, 10210, 10254, 10346, 10545, 10716, 11174, + 11322, 11365, 11451, 11494, 11521, 11959, 12047, 12340, 13058, 13525, + 13526, 13527, 13528, 13529, 13530, 13531, 13532, 13533, 13547, 13551, + 13552, 13553, 13555, 13559, 13566, 13583, 13592, 13618, 13637, 13656, + 13658, 13673, 13691, 13695, 13704, 13705, 13706, 13726, 13738, 13760, + 13761, 13786, 13792, 13806, 13824, 13840, 13841, 13844, 13846, 13851, + 13852, 13854, 13871, 13872, 13873, 13879, 13883, 13892, 13895, 13908, + 13910, 13911, 13912, 13913, 13915, 13916, 13917, 13918, 13919, 13920, + 13921, 13926, 13928, 13938, 13963, 13967, 13973 * ISO C11 support: -- cgit v1.1