1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 2 "http://www.w3.org/TR/html4/strict.dtd"> 3 <html> 4 <head> 5 <title>Release notes for checker-XXX builds</title> 6 <link type="text/css" rel="stylesheet" href="menu.css" /> 7 <link type="text/css" rel="stylesheet" href="content.css" /> 8 <script type="text/javascript" src="scripts/menu.js"></script> 9 </head> 10 <body> 11 12 <div id="page"> 13 <!--#include virtual="menu.html.incl"--> 14 <div id="content"> 15 16 <h1>Release notes for <tt>checker-XXX</tt> builds</h1> 17 18 <h4 id="checker_257">checker-257</h4> 19 20 <p><b>built:</b>May 25, 2011<br> 21 <b>download:</b> <a href="/checker/checker-257.tar.bz2">checker-257.tar.bz2</a></p> 22 <p><b>highlights:</b></p> 23 24 <ul> 25 <li>The analyzer is now far more aggressive with checking conformance with Core Foundation conventions. Any function that returns a CF type must now obey the Core Foundation naming conventions, or use the <a href="/annotations.html#attr_cf_returns_retained">cf_returns_retained</a> or <a href="/annotations.html#attr_cf_returns_not_retained">cf_returns_not_retained</a> annotations.</li> 26 <li>Fixed a serious regression where the analyzer would not analyze Objective-C methods in class extensions.</li> 27 <li>Misc. bug fixes to improve analyzer precision. 28 </li> 29 </ul> 30 31 <h4 id="checker_256">checker-256</h4> 32 33 <p><b>built:</b>April 13, 2011<br> 34 <b>download:</b> <a href="/checker/checker-256.tar.bz2">checker-256.tar.bz2</a></p> 35 <p><b>highlights:</b></p> 36 37 <ul> 38 <li>Lots of bug fixes and improvements to analyzer precision (fewer false positives, possibly more bugs found). 39 <li>Introductory analysis support for C++ and Objective-C++. 40 </ul> 41 42 <p>This build contains basic support for C++ and Objective-C++ that is ready to be tried out 43 by general users. It is still in its infancy, but establishes a baseline for things to come. The main hope is that it can find some 44 issues and have a reasonable false positive rate.</p> 45 46 <p><b>Please</b> <a href="/filing_bugs.html">file bugs</a> when you see issues of any kind so we can assess 47 where development on C++ analysis support needs to be focused.</p> 48 49 <p>To try out C++ analysis support, it should work out of the box using <tt>scan-build</tt>. If you are using this checker build 50 as a replacement to the analyzer bundled with Xcode, first use the <tt>set-xcode-analyzer</tt> script to <a href="/xcode.html">change Xcode to use 51 your version of the analyzer</a>. You will then need to modify one configuration file in Xcode to enable C++ analysis support. This can 52 be done with the following steps:</p> 53 54 <ol> 55 <li>Find the clang .xcspec file: 56 <pre>$ cd /Developer/Library 57 $ find . | grep xcspec | grep Clang 58 ./Xcode/<b><SNIP></b>/Clang LLVM 1.0.xcplugin/Contents/Resources/Clang LLVM 1.0.xcspec 59 </pre></li> 60 <li>The exact location of the file may vary depending on your installation of Xcode. Edit that file, and look for the string "--analyze": 61 <pre> 62 SourceFileOption = "--analyze"; 63 FileTypes = ( 64 "sourcecode.c.c", 65 "sourcecode.c.objc", 66 ); 67 ... 68 </pre> 69 Change the "FileTypes" entry to: 70 <pre> 71 FileTypes = ( 72 "sourcecode.c.c", 73 "sourcecode.c.objc", 74 "sourcecode.cpp.cpp", 75 "sourcecode.cpp.objcpp", 76 ); 77 </pre></li> 78 <li>Restart Xcode.</li> 79 </ol> 80 81 <h4 id="checker_255">checker-255</h4> 82 83 <p><b>built:</b> February 11, 2011<br> 84 <b>download:</b> <a href="/checker/checker-255.tar.bz2">checker-255.tar.bz2</a></p> 85 <p><b>highlights:</b></p> 86 87 <ul> 88 <li>Mac OS X builds are now Intel <tt>i386</tt> and <tt>x86_64</tt> only (no <tt>ppc</tt> support)</li> 89 <li>Turns on new <tt>-init</tt> method checker by default</li> 90 <li>Reduces memory usage of analyzer by 10%</li> 91 <li>Misc. fixes to reduce false positives on dead stores and idempotent operations.</li> 92 </ul> 93 94 <h4 id="checker_254">checker-254</h4> 95 96 <p><b>built:</b> January 27, 2011<br> 97 <b>download:</b> <a href="/checker/checker-254.tar.bz2">checker-254.tar.bz2</a></p> 98 <p><b>highlights:</b></p> 99 100 <ul> 101 <li>Introduces new <tt>-init</tt> method checker to check if a super class's init method is properly called.</li> 102 <li>Objective-C retain/release checker now reasons about calls to property accessor methods (setter/getter).</li> 103 <li>Introduces new attribute <a href="annotations.html#attr_ns_consumes_self">ns_consumes_self</a> to educate the Objective-C retain/release checker about custom "init-like" methods that do not follow the standard Cocoa naming conventions.</li> 104 <li>Introduces new attributes <a href="annotations.html#attr_ns_consumed">ns_consumed</a> and <a href="annotations.html#attr_cf_consumed">cf_consumed</a> to educate the Objective-C retain/release checker about methods/functions that decrement the reference count of a parameter.</li> 105 </ul> 106 107 </div> 108 </div> 109 </body> 110 </html> 111 112