Re: clang static analysis of xorg-server

2010-03-24 Thread Matthias Hopf
On Mar 23, 10 06:45:00 -0700, Alan Coopersmith wrote: Matthias Hopf wrote: On Mar 22, 10 17:50:38 -0700, Jeremy Huddleston wrote: Actually, it was a valid error. The assignment was doing |= rather than =, and the current value was garbage. ? |= looks correct. Jeremy's right

Re: clang static analysis of xorg-server

2010-03-23 Thread Matthias Hopf
On Mar 22, 10 17:50:38 -0700, Jeremy Huddleston wrote: Actually, it was a valid error. The assignment was doing |= rather than =, and the current value was garbage. ? |= looks correct. Alan's comment is perfectly correct. 1L 31 is undefined on architectures that define long to have 32 bit.

Re: clang static analysis of xorg-server

2010-03-23 Thread Alan Coopersmith
Matthias Hopf wrote: On Mar 22, 10 17:50:38 -0700, Jeremy Huddleston wrote: Actually, it was a valid error. The assignment was doing |= rather than =, and the current value was garbage. ? |= looks correct. Jeremy's right though - the struct is allocated on the stack, uninitialized, 2

clang static analysis of xorg-server

2010-03-22 Thread Jeremy Huddleston
I ran the static analyzer on a build of the current git master of xorg-server. Here are the results: http://people.freedesktop.org/~jeremyhu/clang/2010-03-22-1/ There are quite a number of hidden issues. Would people find it useful to have this data part of tinderbox.x.org? If so, I'll look

Re: clang static analysis of xorg-server

2010-03-22 Thread Matthias Hopf
On Mar 22, 10 09:58:59 -0700, Jeremy Huddleston wrote: I ran the static analyzer on a build of the current git master of xorg-server. Here are the results: http://people.freedesktop.org/~jeremyhu/clang/2010-03-22-1/ There are quite a number of hidden issues. Would people find it useful to

Re: clang static analysis of xorg-server

2010-03-22 Thread Alan Coopersmith
Jeremy Huddleston wrote: I aree ... some of the dead store issues are more stylistic or future proofing. The real ones we should consider are the logic errors... garbage assignment and null dereference. Some of the errors seem outright bogus