On Tuesday, 19 June 2012 at 17:10:03 UTC, Walter Bright wrote:
On 6/19/2012 7:05 AM, Trass3r wrote:
http://trass3r.github.com/dmd-cppcheck/
Seems like the tool isn't dead after all so I tried it out
with the dmd sources.
Some false positives but also some valid points.
E.g. http://trass3r.github.com/dmd-cppcheck/15.html#line-960
looks particularly
interesting.
Thanks for posting this. I think these are worth correcting,
although in my quick scan I didn't see any actual bugs.
CppCheck is actually how I found the two bugs I fixed recently
(CtfeStack::maxStackPointer and ComplexExp::toChars). I spent a
couple hours going through the results of CppCheck but only found
those two actual problems (plus the third Globals thing that
turned out to not be a problem). That's not to say I thoroughly
investigated every item. There sure are a lot of unused
variables in DMD :P. I didn't feel qualified to submit a pull
request removing them as I don't have a very strong understanding
of DMD's source code yet.
One non-bug I thought about addressing but didn't end up doing
was this:
http://trass3r.github.com/dmd-cppcheck/18.html#line-4259
I looked up the file history and it seems like that's just a
result of Don doing some refactoring.
There are surprisingly few notices of memory leaks considering
DMD uses a GC.
Regards,
Brad Anderson