<div dir="ltr"><div>Hi all</div><div><br></div><div>I'm working on a new build system called Meson (<a href="https://sourceforge.net/projects/meson/">https://sourceforge.net/projects/meson/</a>) . To test its scalability and usability I rewrote Qt Creator's build system in Meson.The full details are here:</div>
<div><br></div><div><a href="https://sourceforge.net/p/meson/mailman/message/32335155/">https://sourceforge.net/p/meson/mailman/message/32335155/</a><br></div><div><br></div><div>tl/dr version: LInux only, configures in 5 seconds, 4310 lines of build definitions wheres qmake has 12000, and qbs has 8000). The version I built is trunk from a few weeks ago (when I started working on this).</div>
<div><br></div><div>Once I got that working I figured I'd run Qt Creator through Clang's static analyzer. It found a bunch of issues. Here's the full output:</div><br><div><a href="https://dl.dropboxusercontent.com/u/37517477/qtc-scanresults.zip">https://dl.dropboxusercontent.com/u/37517477/qtc-scanresults.zip</a><br>
</div><div><br></div><div>Some quick observations:</div><div><br></div><div>- most false positives are cause by QTC_CHECK not marking its error function with QNORETURN</div><div>- there are several issues with Botan, which is a bit worrisome for a crypto library</div>
<div><br></div><div>As an example of a found issue is a dereference of null pointer from qmljstypedescriptionreader.cpp, line 490:</div><div><br></div><div><div>if (!ast || !ast->statement) {</div><div>    <- Assuming 'ast' is null</div>
<div>    addError(ast->colonToken, tr("Expected numeric literal after colon."));</div><div>    <- Forming reference to null pointer</div></div><div><br></div><div>That's about it. I hope you found this useful and/or informative.</div>
<div><br></div><div>Thanks,</div><div><br></div></div>