FWIW: results of cppcheck on dmd sources

Brad Anderson eco at gnuk.net
Tue Jun 19 10:29:21 PDT 2012


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


More information about the Digitalmars-d mailing list