<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Sam,<div><br></div><div>Thanks for writing this up!</div><div><br></div><div>We currently have the following as documentation for people writing their own checkers:</div><div> - "Building a checker in 24 hours" tutorial talk. See <a href="http://llvm.org/devmtg/2012-11/">http://llvm.org/devmtg/2012-11/</a></div><div> - Checker Writer Manual, which is far from being finished: <a href="http://clang-analyzer.llvm.org/checker_dev_manual.html">http://clang-analyzer.llvm.org/checker_dev_manual.html</a></div><div><br></div><div>Your tutorial is somewhere in between. It provides in depth info on some of the aspects of writing a checker as well as being a tutorial. For example, the section on bug reporting and adding checker state would be a good addition to the manual. Also, registering a checker as a plugin could also be a section in the manual. </div><div><br></div><div>I am not 100% sure where your tutorial should go and how it compliments what's already there. (I am not sure if you were aware of the existence of the other two documents.) What do you think?</div><div><br></div><div>Cheers,</div><div>Anna.</div><div><br></div><div><div><div>On Dec 29, 2012, at 3:52 PM, Sam Handler <<a href="mailto:samuel.handler+cfedev@gmail.com">samuel.handler+cfedev@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">All,<br><br>I have written a tutorial about how to create a plugin for 
the static analyzer. The target audience is developers who reasonably 
familiar with using Clang, but are unsure how they would go about 
extending Clang for custom analysis cases.<br>

<br>The tutorial describes a complete example of a plugin that checks 
for proper use of a trivial locking construct. This was the simplest 
example I could think of that requires the use of stored program state.<br><br>The
 tutorial covers in detail everything needed to write a plugin, 
including: the interface between Clang and the plugin, how to subclass 
Checker, defining and using custom program state data, reporting found 
bugs, and compilation. As such, it is relatively self-contained.<br>
<br>Any feedback would be greatly appreciated. I hope to get this 
integrated into the Clang documentation, but I am unsure about what the 
best way to do that would be; any suggestions about that would also be 
welcome.<br><br clear="all"><br>-- <br>===============================================================================<br>All opinions expressed in posts from this account are entirely my own, and not<br>those of any present or former employer. Furthermore, I assert that all works<br>
contributed to the Clang project (1) were developed using no equipment,<br>supplies, facility or trade secrets of any such employer, (2) were developed<br>entirely on my own time, and (3) do not result from any work performed for any<br>
such employer.<br><br>
<span><AnalyzerPlugin.rst></span>_______________________________________________<br>cfe-dev mailing list<br><a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a><br>http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev<br></blockquote></div><br></div></body></html>