<div dir="ltr"><div dir="ltr">+ Dmitri Gribenko<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, 30 Apr 2019 at 22:25, Kristóf Umann <<a href="mailto:dkszelethus@gmail.com">dkszelethus@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi!<br><br>As of <a href="https://reviews.llvm.org/D58573" target="_blank">https://reviews.llvm.org/D58573</a>, UninitializedObjectChecker is out of alpha. Since that patch landed, I've received some bug reports, which I'm super grateful for, both for finding and reporting the errors, and also for the reason that it's being used.</div><div dir="ltr"><br></div><div>Since it is being used, however, I'm very interested in the user experience. I personally found it to be almost unbearably noisy for LLVM, as this checker finds partially/fully uninitialized objects, and as a performance critical project, it takes advantage of not initializing certain fields.</div><div><br></div><div>My experience for any "regular" projects however was very different, analyzing cppcheck, bitcoin, rtags, cap n proto, xerces resulted gathering some very meaningful reports, often pointing out errors such as<br><br><font face="monospace, monospace">struct MyStruct {</font></div><div><font face="monospace, monospace"> MyStruct() {} // should be = default;<br> int a, b, c, d;</font></div><div><font face="monospace, monospace">};</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace">struct DidntHaveTheTimeToWriteAProperConstructor {</font></div><div><font face="monospace, monospace"> DidntHaveTheTimeToWriteAProperConstructor() : a(0), b(0) {}</font></div><div><font face="monospace, monospace"><br></font></div><div><font face="monospace, monospace"> int a, b, hopeNobodyForgetsAboutThisOne;</font></div><div><font face="monospace, monospace">};</font></div><div><br></div><div>Could you please share some of your experiences using this checker? Would you like to see some improvements being made? Would you configure this checker for your project, if you were exposed to some checker options?</div><div><br></div><div>Cheers!<br>Kristóf</div></div>
</blockquote></div>