blob: 4a568f51e4716ca6c9815faa2b8698e0734189f2 [file] [log] [blame]
Ted Kremenekef35cbc2011-01-27 19:41:08 +00001<!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
Ted Kremenekf30c4cc2011-05-25 16:30:14 +000018<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
Ted Kremenek2d5f2da2011-04-13 21:48:34 +000031<h4 id="checker_256">checker-256</h4>
32
Ted Kremenekf30c4cc2011-05-25 16:30:14 +000033<p><b>built:</b>April 13, 2011<br>
Ted Kremenek2d5f2da2011-04-13 21:48:34 +000034<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>&lt;SNIP&gt;</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 &quot;--analyze&quot;:
61<pre>
62 SourceFileOption = "--analyze";
63 FileTypes = (
64 "sourcecode.c.c",
65 "sourcecode.c.objc",
66 );
67 ...
68</pre>
69 Change the &quot;FileTypes&quot; 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
Ted Kremeneke6732792011-02-12 03:20:34 +000081<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
Ted Kremenekef35cbc2011-01-27 19:41:08 +000094<h4 id="checker_254">checker-254</h4>
95
96<p><b>built:</b> January 27, 2011<br>
Ted Kremenek90f3dd82011-01-27 19:49:07 +000097<b>download:</b> <a href="/checker/checker-254.tar.bz2">checker-254.tar.bz2</a></p>
Ted Kremenekef35cbc2011-01-27 19:41:08 +000098<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 &quot;init-like&quot; 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