1*67e74705SXin Li<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 2*67e74705SXin Li "http://www.w3.org/TR/html4/strict.dtd"> 3*67e74705SXin Li<html> 4*67e74705SXin Li<head> 5*67e74705SXin Li <title>Release notes for checker-XXX builds</title> 6*67e74705SXin Li <link type="text/css" rel="stylesheet" href="menu.css"> 7*67e74705SXin Li <link type="text/css" rel="stylesheet" href="content.css"> 8*67e74705SXin Li <script type="text/javascript" src="scripts/menu.js"></script> 9*67e74705SXin Li</head> 10*67e74705SXin Li<body> 11*67e74705SXin Li 12*67e74705SXin Li<div id="page"> 13*67e74705SXin Li<!--#include virtual="menu.html.incl"--> 14*67e74705SXin Li<div id="content"> 15*67e74705SXin Li 16*67e74705SXin Li<h1>Release notes for <tt>checker-XXX</tt> builds</h1> 17*67e74705SXin Li<h4 id="checker_278">checker-278</h4> 18*67e74705SXin Li<p><b>built:</b> February 5, 2016</br> 19*67e74705SXin Li <b>download:</b> <a href="downloads/checker-278.tar.bz2">checker-278.tar.bz2</a></p> 20*67e74705SXin Li <p><b>highlights:</b></p> 21*67e74705SXin Li <ul> 22*67e74705SXin Li <li>Greatly improves analysis of C++ lambdas, including interprocedural analysis of lambda applications and reduced 'dead store' 23*67e74705SXin Li false positives for variables captured by reference.</li> 24*67e74705SXin Li <li>The analyzer now checks for misuse of 'vfork()'. This check is enabled by default.</li> 25*67e74705SXin Li <li>The analyzer can now detect excessively-padded structs. This check can be enabled by passing the following 26*67e74705SXin Li command to scan-build:<br /> 27*67e74705SXin Li <tt>-enable-checker optin.performance.Padding</tt> </li> 28*67e74705SXin Li <li>The checks to detect misuse of <tt>_Nonnull</tt> are now enabled by default.</li> 29*67e74705SXin Li <li>The checks to detect misuse of Objective-C generics are now enabled by default.</li> 30*67e74705SXin Li <li>Many miscellaneous improvements.</li> 31*67e74705SXin Li </ul> 32*67e74705SXin Li 33*67e74705SXin Li<h4 id="checker_277">checker-277</h4> 34*67e74705SXin Li<p><b>built:</b> October 28, 2015</br> 35*67e74705SXin Li <b>download:</b> <a href="downloads/checker-277.tar.bz2">checker-277.tar.bz2</a></p> 36*67e74705SXin Li <p><b>highlights:</b></p> 37*67e74705SXin Li <ul> 38*67e74705SXin Li <li>Includes about 20 months of change to Clang itself.</li> 39*67e74705SXin Li <li>New checker for C++ leaks is turned on by default.</li> 40*67e74705SXin Li <li>Added various small checks and bug fixes.</li> 41*67e74705SXin Li <li>Added experimental checkers for Objective-C:</li> 42*67e74705SXin Li <ul> 43*67e74705SXin Li <li>New localizability checks: 44*67e74705SXin Li <ul> 45*67e74705SXin Li <li>Checker warning about uses of non-localized <tt>NSString</tt>s passed to UI methods expecting localized strings.</li> 46*67e74705SXin Li <li>Checker warning when the comment argument is missing from <tt>NSLocalizedString</tt> macros.</li> 47*67e74705SXin Li <li>These can be enabled by passing the following command to <tt>scan-build</tt>: 48*67e74705SXin Li<br /> 49*67e74705SXin Li <tt>-enable-checker alpha.osx.cocoa.NonLocalizedStringChecker,alpha.osx.cocoa.EmptyLocalizationContextChecker</tt> 50*67e74705SXin Li</li> 51*67e74705SXin Li </ul> 52*67e74705SXin Li </li> 53*67e74705SXin Li <li>New checks for <tt>_Nonnull</tt> type qualifiers. These can be enabled with: 54*67e74705SXin Li<br /> 55*67e74705SXin Li <tt>-enable-checker nullability.NullPassedToNonnull,nullability.NullReturnedFromNonnull</tt></li> 56*67e74705SXin Li <li>New checks for misuse of Objective-C generics. These can be enabled with <tt>-enable-checker alpha.osx.cocoa.ObjCGenerics</tt>.</li> 57*67e74705SXin Li </ul> 58*67e74705SXin Li <li>Support for <tt>cf_returns_retained</tt> and <tt>cf_returns_not_retained</tt> attributes in out-parameters.</li> 59*67e74705SXin Li <li>The analyzer now creates one state for a range switch case instead of multiple, resulting in performance improvements.</li> 60*67e74705SXin Li <li>Now requires OS X 10.7 or later. 61*67e74705SXin Li </ul> 62*67e74705SXin Li 63*67e74705SXin Li<h4 id="checker_276">checker-276</h4> 64*67e74705SXin Li<p><b>built:</b> February 19, 2014</br> 65*67e74705SXin Li <b>download:</b> <a href="downloads/checker-276.tar.bz2">checker-276.tar.bz2</a></p> 66*67e74705SXin Li <p><b>highlights:</b></p> 67*67e74705SXin Li <ul> 68*67e74705SXin Li <li>Includes about 9 months of change to Clang itself (improved C++11/14 support, etc.)</li> 69*67e74705SXin Li <li>More precise modeling of Objective-C properties, which enables the analyzer to find more bugs.</li> 70*67e74705SXin Li <li>Includes a new "missing call to <tt>super</tt>" warning, which looks for common pattern in iOS/OSX APIs that require chaining a call to a super class's implementation of a method.</li> 71*67e74705SXin Li <li>Accepts <tt>-arch arm64</tt> (which may be passed by Xcode 5.0), but for the time being analyzes code in such cases as <tt>-arch armv7s</tt>.</li> 72*67e74705SXin Li <li>Many sundry fixes, improvements to C++ support, etc.</li> 73*67e74705SXin Li </ul> 74*67e74705SXin Li 75*67e74705SXin Li<h4 id="checker_275">checker-275</h4> 76*67e74705SXin Li<p><b>built:</b> May 23, 2013</br> 77*67e74705SXin Li <b>download:</b> <a href="downloads/checker-275.tar.bz2">checker-275.tar.bz2</a></p> 78*67e74705SXin Li <p><b>highlights:</b></p> 79*67e74705SXin Li <ul> 80*67e74705SXin Li <li>Xcode: Includes a new arrow layout algorithm for issue presentation within Xcode. The goal is for interprocedural bug reports to look cleaner and less busy (and easier to read). Feedback appreciated.</li> 81*67e74705SXin Li <li>Xcode: Bugs that occur within header code (e.g., C++) are now reported within the callers in the main source file. For example, if you misuse a C++ function declared in a header the primary diagnostic will be in the caller (in the main source file). The full expanded path, however, will show the bug in the header code as well. These kind of cross-file issues are currently only support by Xcode, not the HTML output.</li> 82*67e74705SXin Li <li>This build is built with LLVM's Link-Time Optimization (LTO), which should make it slightly faster.</li> 83*67e74705SXin Li <li>LTO also reduces the download size (about 19% smaller than checker-274).</li> 84*67e74705SXin Li <li>Many sundry fixes.</li> 85*67e74705SXin Li </ul> 86*67e74705SXin Li 87*67e74705SXin Li<h4 id="checker_274">checker-274</h4> 88*67e74705SXin Li<p><b>built:</b> April 23, 2013</br> 89*67e74705SXin Li <b>download:</b> <a href="https://attache.apple.com/AttacheWeb/dl?id=ATCdb3165f4406a4589b5878a22494c3b79">checker-274.tar.bz2</a></p> 90*67e74705SXin Li <p><b>highlights:</b></p> 91*67e74705SXin Li <ul> 92*67e74705SXin Li <li>Improved use-after-free and mismatched deallocator checking.</li> 93*67e74705SXin Li <li>Diagnostic polish.</li> 94*67e74705SXin Li <li>Fixes crashes found in checker-273.</li> 95*67e74705SXin Li </ul> 96*67e74705SXin Li 97*67e74705SXin Li<h4 id="checker_273">checker-273</h4> 98*67e74705SXin Li<p><b>built:</b> April 8, 2013</br> 99*67e74705SXin Li <b>download:</b> <a href="https://attache.apple.com/AttacheWeb/dl?id=ATCdefcc852a99546cfbaba2a960e07478e">checker-273.tar.bz2</a></p> 100*67e74705SXin Li <p><b>highlights:</b></p> 101*67e74705SXin Li <ul> 102*67e74705SXin Li <li>Additional checks for misuse of Foundation collection APIs. 103*67e74705SXin Li <li>New C++ checker for attempting to create a reference to null.</li> 104*67e74705SXin Li <li>New use-after-free checker for C++ 'delete'.</li> 105*67e74705SXin Li <li>New checker for simple cases of mismatched allocators and deallocators, e.g. "delete malloc(4);"</li> 106*67e74705SXin Li <li>Support for basic interprocedural analysis of C++ destructors.</li> 107*67e74705SXin Li <li>Additional heuristics for suppressing null pointer false positives.</li> 108*67e74705SXin Li <li>Misc. bug fixes and performance enhancements.</li> 109*67e74705SXin Li </ul> 110*67e74705SXin Li 111*67e74705SXin Li<h4 id="checker_272">checker-272</h4> 112*67e74705SXin Li<p><b>built:</b> March 1, 2013</p> 113*67e74705SXin Li <p><b>highlights:</b></p> 114*67e74705SXin Li <ul> 115*67e74705SXin Li <li>Better modeling of C++ constructors: 116*67e74705SXin Li <ul> 117*67e74705SXin Li <li>Interprocedural analysis support for constructors of types with trivial destructors</li> 118*67e74705SXin Li <li>Efficient model of trivial copy and move constructors</li> 119*67e74705SXin Li </ul> 120*67e74705SXin Li </li> 121*67e74705SXin Li <li>Better diagnostics for loops that execute 0 times</li> 122*67e74705SXin Li <li>Fixes a linking issue that prevented the checker from running on OS X v10.6 and earlier</li> 123*67e74705SXin Li <li>Fixes for misc. crashes and false positives</li> 124*67e74705SXin Li </ul> 125*67e74705SXin Li 126*67e74705SXin Li<h4 id="checker_271">checker-271</h4> 127*67e74705SXin Li<p><b>built:</b> February 8, 2013</p> 128*67e74705SXin Li <p><b>highlights:</b></p> 129*67e74705SXin Li <ul> 130*67e74705SXin Li <li>Faster analysis for <tt>scan-build xcodebuild</tt> when using Xcode 4.6 and higher: 131*67e74705SXin Li <ul> 132*67e74705SXin Li <li><tt>scan-build</tt> now uses Xcode's built-in interposition mechanism for the static analyzer to provide faster builds while doing static analysis (PCH files are now built).</li> 133*67e74705SXin Li <li>This change also allows <tt>scan-build</tt> to have better support for iOS project analysis without having to specifying weird SDK settings to <tt>scan-build</tt>.</li> 134*67e74705SXin Li </ul></li> 135*67e74705SXin Li <li>Better diagnostics for implicitly-defined member functions in C++.</li> 136*67e74705SXin Li <li>New warning for <tt>malloc</tt>/<tt>free</tt> checker when passing <tt>malloc</tt>'ed pointer with non-zero offset to <tt>free()</tt>. 137*67e74705SXin Li <li>Fixes for misc. parser crashes.</li> 138*67e74705SXin Li <li>Newer than the static analyzer version in Xcode 4.6</li> 139*67e74705SXin Li </ul> 140*67e74705SXin Li 141*67e74705SXin Li<h4 id="checker_270">checker-270</h4> 142*67e74705SXin Li<p><b>built:</b> January 4, 2013</p> 143*67e74705SXin Li <p><b>highlights:</b></p> 144*67e74705SXin Li <ul> 145*67e74705SXin Li <li>Major performance enhancements to speed up interprocedural analysis.</li> 146*67e74705SXin Li <li>Misc. bug fixes.</li> 147*67e74705SXin Li </ul> 148*67e74705SXin Li 149*67e74705SXin Li<h4 id="checker_269">checker-269</h4> 150*67e74705SXin Li<p><b>built:</b> September 25, 2012</p> 151*67e74705SXin Li <p><b>highlights:</b></p> 152*67e74705SXin Li <ul> 153*67e74705SXin Li <li>Significantly improves interprocedural analysis for Objective-C.</li> 154*67e74705SXin Li <li>Numerous bug fixes and heuristics to reduce false positives reported 155*67e74705SXin Li over checker-268.</li> 156*67e74705SXin Li </ul> 157*67e74705SXin Li 158*67e74705SXin Li<h4 id="checker_268">checker-268</h4> 159*67e74705SXin Li<p><b>built:</b> September 11, 2012</p> 160*67e74705SXin Li <p><b>highlights:</b></p> 161*67e74705SXin Li 162*67e74705SXin Li<ul> 163*67e74705SXin Li <li>Adds initial interprocedural analysis support for C++ and Objective-C. This will greatly improve analysis coverage and find deeper bugs in Objective-C and C++ code.</li> 164*67e74705SXin Li <li>Contains a static analyzer newer than Xcode 4.4.</li> 165*67e74705SXin Li</ul> 166*67e74705SXin Li 167*67e74705SXin Li<p>NOTE: this checker build includes a <i>huge</i> number of changes. It has the potential to find many more bugs, but may report new kinds of false positives. We'd like to know about 168*67e74705SXin Lithese, and any other problems you encounter. When you encounter an issue, please <a href="/filing_bugs.html">file a bug report</a>.</p> 169*67e74705SXin Li 170*67e74705SXin Li<h4 id="checker_267">checker-267</h4> 171*67e74705SXin Li<p><b>built:</b> June 1, 2012</p> 172*67e74705SXin Li <p><b>highlights:</b></p> 173*67e74705SXin Li 174*67e74705SXin Li<p>Adds basic interprocedural analysis support for blocks.</p> 175*67e74705SXin Li 176*67e74705SXin Li<h4 id="checker_266">checker-266</h4> 177*67e74705SXin Li<p><b>built:</b> May 23, 2012</p> 178*67e74705SXin Li <p><b>highlights:</b></p> 179*67e74705SXin Li 180*67e74705SXin Li<p>Contains numerous stability fixes over checker-266, especially when analyzing C++11 code.</p> 181*67e74705SXin Li 182*67e74705SXin Li<h4 id="checker_265">checker-265</h4> 183*67e74705SXin Li<p><b>built:</b> May 8, 2012</p> 184*67e74705SXin Li <p><b>highlights:</b></p> 185*67e74705SXin Li 186*67e74705SXin Li<p>This release contains a fix for a major crasher introduced in checker-264, and various refinements to 187*67e74705SXin Liimprove the precision and reduce the false positive rate of the analyzer. It also enables a new unix.MallocSizeof check, which reports 188*67e74705SXin Liinconsistencies between the casted type of the return value of a 'malloc/calloc/realloc' call and the operand 189*67e74705SXin Liof sizeof expressions contained within its argument(s).</p> 190*67e74705SXin Li 191*67e74705SXin Li<h4 id="checker_264">checker-264</h4> 192*67e74705SXin Li 193*67e74705SXin Li<p><b>built:</b> April 26, 2012</p> 194*67e74705SXin Li <p><b>highlights:</b></p> 195*67e74705SXin Li 196*67e74705SXin Li<p>This release contains misc. bug fixes and performance enhancements over checker-263, including 197*67e74705SXin Li a reduction of some kinds of false positives related to the malloc() checker.</p> 198*67e74705SXin Li 199*67e74705SXin Li<h4 id="checker_263">checker-263</h4> 200*67e74705SXin Li 201*67e74705SXin Li<p><b>built:</b> March 22, 2012</p> 202*67e74705SXin Li<p><b>highlights:</b></p> 203*67e74705SXin Li 204*67e74705SXin Li<ul> 205*67e74705SXin Li<li>Fixes several serious bugs with inter-procedural analysis, including a case where retain/releases would be "double-counted".</li> 206*67e74705SXin Li</ul> 207*67e74705SXin Li 208*67e74705SXin Li<h4 id="checker_262">checker-262</h4> 209*67e74705SXin Li 210*67e74705SXin Li<p><b>built: </b>March 15, 2012</p> 211*67e74705SXin Li<p><b>highlights:</b></p> 212*67e74705SXin Li 213*67e74705SXin Li<ul> 214*67e74705SXin Li <li>Enables experimental interprocedural analysis (within a file), which greatly amplifies the analyzer's ability to find issues.</li> 215*67e74705SXin Li <li>Many bug fixes to the malloc/free checker.</li> 216*67e74705SXin Li <li>Support for new Objective-C NSArray/NSDictionary/NSNumber literals syntax, and Objective-C container subscripting.</li> 217*67e74705SXin Li</ul> 218*67e74705SXin Li 219*67e74705SXin Li<p>NOTE: This build contains new interprocedural analysis that allows the analyzer to find more complicated bugs that span function boundaries. It may have problems, performance issues, etc. We'd like to <a href="/filing_bugs.html">hear about them</a>. 220*67e74705SXin Li 221*67e74705SXin Li<h4 id="checker_261">checker-261</h4> 222*67e74705SXin Li 223*67e74705SXin Li<p><b>built: </b>February 22, 2012<br> 224*67e74705SXin Li<p><b>highlights:</b></p> 225*67e74705SXin Li 226*67e74705SXin Li<ul> 227*67e74705SXin Li <li>Contains a new experimental malloc/free checker.</li> 228*67e74705SXin Li <li>Better support for projects using ARC.</li> 229*67e74705SXin Li <li>Warns about null pointers passed as arguments to C string functions.</li> 230*67e74705SXin Li <li>Warns about common anti-patterns in 'strncat' size argument, which can lead to buffer overflows.</li> 231*67e74705SXin Li <li>set-xcode-analyzer now supports self-contained Xcode.app (Xcode 4.3 and later).</li> 232*67e74705SXin Li <li>Contains a newer version of the analyzer than Xcode 4.3.</li> 233*67e74705SXin Li <li>Misc. bug fixes and performance work.</li> 234*67e74705SXin Li</ul> 235*67e74705SXin Li 236*67e74705SXin Li<h4 id="checker_260">checker-260</h4> 237*67e74705SXin Li 238*67e74705SXin Li<p><b>built: </b>January 25, 2012<br> 239*67e74705SXin Li<p><b>highlights:</b></p> 240*67e74705SXin Li 241*67e74705SXin Li<p>This is essentially the same as checker-259, but enables the following <i>experimental</i> checkers (please provide feedback):</p> 242*67e74705SXin Li 243*67e74705SXin Li<ul> 244*67e74705SXin Li <li>Warns about unsafe uses of CFArrayCreate, CFSetCreate, and CFDictionaryCreate</li> 245*67e74705SXin Li <li>Warns about unsafe uses of getpw, gets, which are sources of buffer overflows</li> 246*67e74705SXin Li <li>Warns about unsafe uses of mktemp and mktemps, which can lead to insecure temporary files</li> 247*67e74705SXin Li <li>Warns about unsafe uses of vfork, which is <a href="https://www.securecoding.cert.org/confluence/display/seccode/POS33-C.+Do+not+use+vfork()">insecure</a> to use</li> 248*67e74705SXin Li <li>Warns about not checking the return values of setuid, setgid, seteuid, setegid, setreuid, setregid (another security issue)</li> 249*67e74705SXin Li</ul> 250*67e74705SXin Li 251*67e74705SXin Li<h4 id="checker_259">checker-259</h4> 252*67e74705SXin Li 253*67e74705SXin Li<p><b>built: </b>January 25, 2012<br> 254*67e74705SXin Li<p><b>highlights:</b></p> 255*67e74705SXin Li 256*67e74705SXin Li<ul> 257*67e74705SXin Li <li>Contains a newer version of the analyzer than the one shipped in Xcode 4.2.</li> 258*67e74705SXin Li <li>Significant performance optimizations to reduce memory usage of the analyzer.</li> 259*67e74705SXin Li <li>Tweaks to scan-build to have it work more easily with Xcode projects using Clang.</li> 260*67e74705SXin Li <li>Numerous bug fixes to better support code using ARC.</li> 261*67e74705SXin Li</ul> 262*67e74705SXin Li 263*67e74705SXin Li<h4 id="checker_258">checker-258</h4> 264*67e74705SXin Li 265*67e74705SXin Li<p><b>built: </b>October 13, 2011<br> 266*67e74705SXin Li<p><b>highlights:</b></p> 267*67e74705SXin Li 268*67e74705SXin Li<ul> 269*67e74705SXin Li <li>Contains a newer version of the analyzer than the one shipped in Xcode 4.2.</li> 270*67e74705SXin Li <li>Adds a new security checker for looking at correct uses of the Mac OS KeyChain API.</li> 271*67e74705SXin Li <li>Supports ARC (please file bugs where you see issues)</li> 272*67e74705SXin Li <li>Major under-the-cover changes. This should result in more precise results in some cases, but this is laying the groundwork for major improvements. Please file bugs where you see regressions or issues.</li> 273*67e74705SXin Li</ul> 274*67e74705SXin Li 275*67e74705SXin Li<h4 id="checker_257">checker-257</h4> 276*67e74705SXin Li 277*67e74705SXin Li<p><b>built: </b>May 25, 2011<br> 278*67e74705SXin Li<p><b>highlights:</b></p> 279*67e74705SXin Li 280*67e74705SXin Li<ul> 281*67e74705SXin Li <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> 282*67e74705SXin Li <li>Fixed a serious regression where the analyzer would not analyze Objective-C methods in class extensions.</li> 283*67e74705SXin Li <li>Misc. bug fixes to improve analyzer precision. 284*67e74705SXin Li </li> 285*67e74705SXin Li</ul> 286*67e74705SXin Li 287*67e74705SXin Li<h4 id="checker_256">checker-256</h4> 288*67e74705SXin Li 289*67e74705SXin Li<p><b>built: </b>April 13, 2011<br> 290*67e74705SXin Li<p><b>highlights:</b></p> 291*67e74705SXin Li 292*67e74705SXin Li<ul> 293*67e74705SXin Li <li>Lots of bug fixes and improvements to analyzer precision (fewer false positives, possibly more bugs found). 294*67e74705SXin Li <li>Introductory analysis support for C++ and Objective-C++. 295*67e74705SXin Li</ul> 296*67e74705SXin Li 297*67e74705SXin Li<p>This build contains basic support for C++ and Objective-C++ that is ready to be tried out 298*67e74705SXin Li 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 299*67e74705SXin Li issues and have a reasonable false positive rate.</p> 300*67e74705SXin Li 301*67e74705SXin Li<p><b>Please</b> <a href="/filing_bugs.html">file bugs</a> when you see issues of any kind so we can assess 302*67e74705SXin Li where development on C++ analysis support needs to be focused.</p> 303*67e74705SXin Li 304*67e74705SXin Li<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 305*67e74705SXin Li 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 306*67e74705SXin Li your version of the analyzer</a>. You will then need to modify one configuration file in Xcode to enable C++ analysis support. This can 307*67e74705SXin Li be done with the following steps:</p> 308*67e74705SXin Li 309*67e74705SXin Li<ol> 310*67e74705SXin Li <li>Find the clang .xcspec file: 311*67e74705SXin Li<pre>$ cd /Developer/Library 312*67e74705SXin Li$ find . | grep xcspec | grep Clang 313*67e74705SXin Li./Xcode/<b><SNIP></b>/Clang LLVM 1.0.xcplugin/Contents/Resources/Clang LLVM 1.0.xcspec 314*67e74705SXin Li</pre></li> 315*67e74705SXin Li <li>The exact location of the file may vary depending on your installation of Xcode. Edit that file, and look for the string "--analyze": 316*67e74705SXin Li<pre> 317*67e74705SXin Li SourceFileOption = "--analyze"; 318*67e74705SXin Li FileTypes = ( 319*67e74705SXin Li "sourcecode.c.c", 320*67e74705SXin Li "sourcecode.c.objc", 321*67e74705SXin Li ); 322*67e74705SXin Li ... 323*67e74705SXin Li</pre> 324*67e74705SXin Li Change the "FileTypes" entry to: 325*67e74705SXin Li<pre> 326*67e74705SXin Li FileTypes = ( 327*67e74705SXin Li "sourcecode.c.c", 328*67e74705SXin Li "sourcecode.c.objc", 329*67e74705SXin Li "sourcecode.cpp.cpp", 330*67e74705SXin Li "sourcecode.cpp.objcpp", 331*67e74705SXin Li ); 332*67e74705SXin Li</pre></li> 333*67e74705SXin Li<li>Restart Xcode.</li> 334*67e74705SXin Li</ol> 335*67e74705SXin Li 336*67e74705SXin Li<h4 id="checker_255">checker-255</h4> 337*67e74705SXin Li 338*67e74705SXin Li<p><b>built: </b> February 11, 2011<br> 339*67e74705SXin Li<p><b>highlights:</b></p> 340*67e74705SXin Li 341*67e74705SXin Li<ul> 342*67e74705SXin Li<li>Mac OS X builds are now Intel <tt>i386</tt> and <tt>x86_64</tt> only (no <tt>ppc</tt> support)</li> 343*67e74705SXin Li<li>Turns on new <tt>-init</tt> method checker by default</li> 344*67e74705SXin Li<li>Reduces memory usage of analyzer by 10%</li> 345*67e74705SXin Li<li>Misc. fixes to reduce false positives on dead stores and idempotent operations.</li> 346*67e74705SXin Li</ul> 347*67e74705SXin Li 348*67e74705SXin Li<h4 id="checker_254">checker-254</h4> 349*67e74705SXin Li 350*67e74705SXin Li<p><b>built: </b> January 27, 2011<br> 351*67e74705SXin Li<p><b>highlights:</b></p> 352*67e74705SXin Li 353*67e74705SXin Li<ul> 354*67e74705SXin Li<li>Introduces new <tt>-init</tt> method checker to check if a super class's init method is properly called.</li> 355*67e74705SXin Li<li>Objective-C retain/release checker now reasons about calls to property accessor methods (setter/getter).</li> 356*67e74705SXin Li<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> 357*67e74705SXin Li<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> 358*67e74705SXin Li</ul> 359*67e74705SXin Li 360*67e74705SXin Li</div> 361*67e74705SXin Li</div> 362*67e74705SXin Li</body> 363*67e74705SXin Li</html> 364*67e74705SXin Li 365