Coverity run for glibc 2.23.
Joseph Myers
joseph@codesourcery.com
Fri Feb 26 17:33:00 GMT 2016
On Fri, 26 Feb 2016, Carlos O'Donell wrote:
> ________________________________________________________________________________________________________
> *** CID 123615: Uninitialized variables (UNINIT)
> /home/carlos/src/glibc-2.23-coverity/glibc-2.23/sysdeps/ieee754/dbl-64/lgamma_neg.c: 290 in __lgamma_neg()
> 284 if ((i & 1) == 0 && i == -2 * x)
> 285 return 1.0 / 0.0;
> 286 double xn = ((i & 1) == 0 ? -i / 2 : (-i - 1) / 2);
> 287 i -= 4;
> 288 *signgamp = ((i & 2) == 0 ? -1 : 1);
> 289
> >>> CID 123615: Uninitialized variables (UNINIT)
> >>> Declaring variable "ctx" without initializer.
> 290 SET_RESTORE_ROUND (FE_TONEAREST);
Looks rather like Coverity either doesn't understand the macros / inlines
used for optimized rounding mode handling, or doesn't like that they
deliberately only set the parts of the context that are relevant for the
particular function. Unless anyone can find a case in which (for example)
the macros set only one of SSE and 387 state but then try to restore both.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list