In the libm access macros for the double type, z can sometimes
be used uninitialized. This can lead to spurious exceptions and bit clobbering. Submitted by: bde Approved by: das (mentor)
This commit is contained in:
parent
1cbcfc538b
commit
edfca01f71
@ -171,9 +171,8 @@ medium:
|
||||
}
|
||||
/* set z = scalbn(|x|,ilogb(x)-23) */
|
||||
GET_LOW_WORD(low,x);
|
||||
SET_LOW_WORD(z,low);
|
||||
e0 = (ix>>20)-1046; /* e0 = ilogb(z)-23; */
|
||||
SET_HIGH_WORD(z, ix - ((int32_t)(e0<<20)));
|
||||
INSERT_WORDS(z, ix - ((int32_t)(e0<<20)), low);
|
||||
for(i=0;i<2;i++) {
|
||||
tx[i] = (double)((int32_t)(z));
|
||||
z = (z-tx[i])*two24;
|
||||
|
Loading…
x
Reference in New Issue
Block a user