c1f8dd9f0b
Original compiler error: target arm C: libm <= bionic/libm/src/e_j0f.c bionic/libm/src/e_j0f.c: In function 'j0f': bionic/libm/src/e_j0f.c:66: warning: comparison between signed and unsigned integer expressions bionic/libm/src/e_j0f.c: In function 'y0f': bionic/libm/src/e_j0f.c:140: warning: comparison between signed and unsigned integer expressions target arm C: libm <= bionic/libm/src/e_j1.c It's subtle but ix is masked with 0x7f000000 so it can never ever have a value greater than 0x80000000. So I switched to using the unmasked hx and added a cast as a reward to the compiler for being right. I checked the original routines that e_j0f.c was ported from (in e_j0.c) and the double's don't use 0x80000000 so this issue didn't exist there. Let that be a warning to those that just slap on casts to shut up the compiler, sometimes it's sniffed out a bug for you. :-) Similar fixes in the other functions. Change-Id: I7a776e5d4721fc3a9e3bd89179b67e9af3a2ebfa |
||
---|---|---|
.. | ||
alpha | ||
amd64 | ||
arm | ||
bsdsrc | ||
i386 | ||
i387 | ||
ia64 | ||
include | ||
man | ||
powerpc | ||
sh | ||
sparc64 | ||
src | ||
Android.mk | ||
fpclassify.c | ||
isinf.c | ||
Makefile-orig | ||
MODULE_LICENSE_BSD_LIKE | ||
NOTICE |