Release notes for checker-XXX builds
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.