<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Okay, I'll ask specifics.<div><br></div><div>I've spent the better part of last week familiarizing myself with MallocChecker's code in order to eventually split it up (which has been a surprisingly pleasant experience!). In the process of learning how it works, I'm adding doxygen comments to every non-trivial method and non-trivial hackery, from what I can gather from old cfe-dev threads and bug reports.</div><div>To me it isn't clear what ReallocPair[1] (added by this[2] commit) does. I can come up with some ideas, but I don't have a grasp on it at all, sadly. The very cryptic boolean out-parameter ReleasedAllocated[3], related to [1], doesn't help this case either. It was added by this[4] commit, but I'm still struggleing to understand what's the happening here.</div><div><br></div><div>[1]<a href="https://github.com/llvm-mirror/clang/blob/master/lib/StaticAnalyzer/Checkers/MallocChecker.cpp#L141">https://github.com/llvm-mirror/clang/blob/master/lib/StaticAnalyzer/Checkers/MallocChecker.cpp#L141</a></div><div>[2]<a href="https://github.com/llvm-mirror/clang/commit/c8bb3befcad8cd8fc9556bc265289b07dc3c94c8">https://github.com/llvm-mirror/clang/commit/c8bb3befcad8cd8fc9556bc265289b07dc3c94c8</a><br>[2]<a href="https://github.com/llvm-mirror/clang/blob/master/lib/StaticAnalyzer/Checkers/MallocChecker.cpp#L341">https://github.com/llvm-mirror/clang/blob/master/lib/StaticAnalyzer/Checkers/MallocChecker.cpp#L341</a></div><div>[3]<a href="https://github.com/llvm-mirror/clang/commit/55dd956d521d4d650dfd929d67f4b98ede61c0ea">https://github.com/llvm-mirror/clang/commit/55dd956d521d4d650dfd929d67f4b98ede61c0ea</a></div><div><br></div></div></div></div></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">Artem Dergachev <<a href="mailto:noqnoqneo@gmail.com">noqnoqneo@gmail.com</a>> ezt írta (időpont: 2018. nov. 20., K, 1:43):<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Back then Static Analyzer was developed almost exclusively by the first <br>
generation of Analyzer developers which was a small team at Apple, none <br>
of which are still active Analyzer developers. I guess they didn't <br>
really need that much open documentation when they could simply look at <br>
each other's monitor and discuss things on a whiteboard. These days the <br>
community is much bigger (and i'm much more of a masochist who does not <br>
feel happy to just sit down and write code, and actively prevents others <br>
from doing the same, so that everybody knew the taste of code review <br>
pain), so Phabricator turned out to be a spot-on tool.<br>
<br>
But you should ask around for specific things. It might be that people <br>
have already managed to re-discover the motivation behind certain solutions.<br>
<br>
On 11/19/18 3:57 PM, Kristóf Umann via cfe-dev wrote:<br>
> Hi!<br>
><br>
> Where can I find design discussions and patch reviews similar to <br>
> <a href="http://reviews.llvm.org" rel="noreferrer" target="_blank">reviews.llvm.org</a> <<a href="http://reviews.llvm.org" rel="noreferrer" target="_blank">http://reviews.llvm.org</a>>, but from 2012? There are a <br>
> variety of commits to some files I'm working with in the Static <br>
> Analyzer that could use more explanation. I didn't have any luck <br>
> reading through the cfe-dev and cfe-commits archives.<br>
><br>
> Cheers,<br>
> Kristóf Umann<br>
><br>
><br>
> _______________________________________________<br>
> cfe-dev mailing list<br>
> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
<br>
</blockquote></div>