Release notes for checker-XXX builds
checker-258
built:October 13, 2011
download: checker-258.tar.bz2
highlights:
- Contains a newer version of the analyzer than the one shipped in Xcode 4.2.
- Adds a new security checker for looking at correct uses of the Mac OS KeyChain API.
- Supports ARC (please file bugs where you see issues)
- 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.
checker-257
built:May 25, 2011
download: checker-257.tar.bz2
highlights:
- 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 cf_returns_retained or cf_returns_not_retained annotations.
- Fixed a serious regression where the analyzer would not analyze Objective-C methods in class extensions.
- Misc. bug fixes to improve analyzer precision.
checker-256
built:April 13, 2011
download: checker-256.tar.bz2
highlights:
- Lots of bug fixes and improvements to analyzer precision (fewer false positives, possibly more bugs found).
- Introductory analysis support for C++ and Objective-C++.
This build contains basic support for C++ and Objective-C++ that is ready to be tried out 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 issues and have a reasonable false positive rate.
Please file bugs when you see issues of any kind so we can assess where development on C++ analysis support needs to be focused.
To try out C++ analysis support, it should work out of the box using scan-build. If you are using this checker build as a replacement to the analyzer bundled with Xcode, first use the set-xcode-analyzer script to change Xcode to use your version of the analyzer. You will then need to modify one configuration file in Xcode to enable C++ analysis support. This can be done with the following steps:
- Find the clang .xcspec file:
$ cd /Developer/Library $ find . | grep xcspec | grep Clang ./Xcode/<SNIP>/Clang LLVM 1.0.xcplugin/Contents/Resources/Clang LLVM 1.0.xcspec
- The exact location of the file may vary depending on your installation of Xcode. Edit that file, and look for the string "--analyze":
SourceFileOption = "--analyze"; FileTypes = ( "sourcecode.c.c", "sourcecode.c.objc", ); ...
Change the "FileTypes" entry to:FileTypes = ( "sourcecode.c.c", "sourcecode.c.objc", "sourcecode.cpp.cpp", "sourcecode.cpp.objcpp", );
- Restart Xcode.
checker-255
built: February 11, 2011
download: checker-255.tar.bz2
highlights:
- Mac OS X builds are now Intel i386 and x86_64 only (no ppc support)
- Turns on new -init method checker by default
- Reduces memory usage of analyzer by 10%
- Misc. fixes to reduce false positives on dead stores and idempotent operations.
checker-254
built: January 27, 2011
download: checker-254.tar.bz2
highlights:
- Introduces new -init method checker to check if a super class's init method is properly called.
- Objective-C retain/release checker now reasons about calls to property accessor methods (setter/getter).
- Introduces new attribute ns_consumes_self to educate the Objective-C retain/release checker about custom "init-like" methods that do not follow the standard Cocoa naming conventions.
- Introduces new attributes ns_consumed and cf_consumed to educate the Objective-C retain/release checker about methods/functions that decrement the reference count of a parameter.