|
http://www.kernel.org/pub/software/devel/sparse/news.html
Sparse/
News Archive
Sparse
0.4.1 released
I have tagged and tarballed Sparse 0.4.1, now available from
http://kernel.org/pub/software/devel/sparse/dist/sparse-0.4.1.tar.gz,
with sha1sum This bugfix release fixes a Sparse assertion which recent Linux kernels started triggering, along with a few other fixes. Full changelog: Christopher Li (1): Perform local label lookup Emil Medve (1): Handle ignored attribute malloc Josh Triplett (4): Add comment on taint flags enum referencing expr->taint Add test-suite metadata to validation/local-label.c Add known-to-fail test case for a static forward declaration Makefile: VERSION=0.4.1 Mike Frysinger (1): fix install perms of manpages Tilman Sauerbeck (1): Added a prototype for mempcpy(). -- Josh Triplett Posted Tue Nov 13 04:26:45 2007
Sparse
0.4 released
I have tagged and tarballed Sparse 0.4, now available from
http://kernel.org/pub/software/devel/sparse/dist/sparse-0.4.tar.gz,
with sha1sum Highlights and visible changes in this release:
Full changelog:
Alberto Bertogli (1):
Implement x86-64 support in cgcc.
Alexey Dobriyan (2):
Fix infinite loop in free_preprocessor_line()
Fix -E handling
Christopher Li (2):
combinations string clean up
Pass a bitmask of keywords to handle_attributes
Damien Lespiau (6):
Change sparse homepage in ctags headers.
__DATE__ & __TIME expansion
Beautify all & install Makefile targets
test-suite: a tiny test automation script
test-suite documentation
Sample test-suite test cases
Dan Sheridan (2):
Improved graph generation using subgraph clusters for functions
Add gvpr-based post-processing for graphs
Josh Triplett (118):
Fix website and repository references in FAQ
Fix the version number
Remove old version note.
gitweb lives at git.kernel.org now.
Add a "make dist" that requires $(VERSION) to match `git describe`
Add test case for __asm__ __volatile__(...)
Make cgcc not pass -Wall to sparse even if passing it to cc
Teach cgcc about all currently existing sparse warning options
Teach cgcc about -ventry and -vdead
Parse asm after a label as a statement, not an attribute
Add test case for stdcall and cdecl attributes.
Add -Wno-old-initializer to turn off warnings about non-C99 struct initializers
Add test case for -Wno-old-initializer
Revert unintentional inclusion of warning fix in previous commit.
Use %td when printing a ptrdiff_t to avoid problems on 64-bit platforms
Remove extra space.
Add shebang to gvpr scripts, make them executable, and change usage accordingly
Fix an __attribute__() parsing error
Expand calling convention test case to cover fastcall
Add -Wno-non-pointer-null to turn off warning about using a plain integer as a NULL pointer
Add __builtin_strcat and __builtin_strncat.
Ignore the GCC constructor and destructor attributes
Remove inaccurate comment designating some attributes as windows-specific.
Move the ident for defined() into the preprocessor section.
Reorganize attribute list for readability.
Add double-underscore variant __always_inline__.
Add double-underscore variant __noinline__.
Add no-double-underscore variant "used", ignored like "__used__".
Add double-underscore variant __syscall_linkage__.
Add no-double-underscore variant format_arg.
Add explanatory comment about direct use of __IDENT for preprocessor idents.
Sparse always defines __STDC__ 1, so cgcc does not need to do so
Fix old typo: s/wierd/weird/
Canonicalize URL in FAQ: add www., add trailing slash
Change "LD" to "LINK" in Makefile prettyprinting.
Makefile prettyprinting: make INSTALL and other output line up correctly
Add test case for infinite loop in free_preprocessor_line()
Turn on -Wdecl by default.
ctags: Use const as appropriate in cmp_sym()
validation/old-initializer.c: Make the_s static to avoid extraneous warning.
validation/restricted-typeof.c: Make globals static to avoid extraneous warnings.
validation/escapes.c: Make globals static to avoid extraneous warnings.
validation/non-pointer-null.c: Make global static to avoid extraneous warning.
Merge commit 'viro/integer-constant'
Move all the preprocessor tests into validation/preprocessor/
Move test-suite output files to validation/.gitignore
.gitignore: Stop ignoring all dotfiles
validation: Update comments for current Sparse behavior and test-suite.
Add test-suite comments to all the obvious preprocessor tests
Make preprocessor-loop a normal numbered preprocessor test
Add test-suite comment to preprocessor21.
Add test-suite comment to address_space.c
Make clean depend on clean-check
Rename asm-volatile to better describe what it tests
Add test-suite comment to label-asm.c
Remove "check-exit-value: 0" and rely on default; remove extra blank line.
Add test-suite comment to bad-array-designated-initializer.c
Add c2xml to .gitignore
Split c2xml build rule into compile and link stages, and add the quiet prefixes
_expression_.h needs lib.h for struct position and symbol.h for int_ctype
Fix GCC warnings in c2xml
Fix sparse warnings in c2xml: mark globals static and remove unused globals
Fix test-suite to handle stdout and stderr separately, and fix up tests
Add test-suite metadata to bad-cast.c
Add test-suite metadata to bad-ternary-cond.c, and remove now-redundant comment
Add test-suite metadata to initializer-entry-defined-twice.c
Add test-suite metadata to context.c
Add test-suite metadata to escapes.c
Add test-suite metadata to calling-convention-attributes.c
Fix typos in test-suite documentation
Makefile: stop cleaning files we didn't make and have no business cleaning
Add test-suite metadata to old-initializer.c; also test with -Wno-initializer
allocate.h: Stop needlessly returning a void value in __DO_ALLOCATOR
Turn off -Wdo-while by default.
Add test-suite metadata to label-attr.c
validation/builtin_safe1.c: Show the unsafe macro argument
Make "Initializer entry defined twice" a warning, not an error
Remove explicit restatements of defaults in metadata for member_of_typeof test
Remove explicit restatements of defaults in metadata for outer-scope test
Remove explicit restatements of defaults in metadata for comma test
Add test case for comparing null pointer constant to int.
Makefile: Use -O2 -finline-functions, not just -O
cse: Size insn_hash_table more realistically, speeding up CSE significantly
Add some missing dependencies in the Makefile
Drop -fpic; it hurts performance and we don't build libsparse.so by default
Add another test case to validation/comma.c
ctags: Handle some new namespaces and symbol types.
is_zero_constant: declare saved const
Add test case for -Wtypesign
Sort warning options in lib.c and lib.h
Rename Wcast_to_address_space to Wcast_to_as to match the command-line argument
Add a manpage for sparse
Install the Sparse manpage
cgcc: Sparse accepts -Wcast-to-as, not -Wcast-to-address-space
Rename Wundefined_preprocessor to Wundef to match the command-line argument
cgcc: Sparse accepts -Wundef, not -Wundefined-preprocessor
Use -fno-strict-aliasing, as the ptrlist code seems to violate C99 strict aliasing rules
Add test-suite annotations to restricted-typeof.c
Add test-suite annotations to double-semicolon.c
Add test-suite annotations to check_byte_count-ice.c
Add test-suite annotations to badtype4.c
Add test-suite annotations to varargs1.c
Add test-suite annotations to struct-attribute-placement.c
Add test-suite annotations to non-pointer-null.c
Add test-suite annotations to struct-ns1.c
Add test-suite annotations to noderef.c
Makefile: Use ?= to allow overriding OS or AR on the Make command line
FAQ: Point to URL on vger for subscription instructions and archives
README: recode from ISO-8859-1 to UTF-8
validation: Rename typeconvert.c to integer-promotions.c to match its purpose
Add test-suite annotations to integer-promotions.c
Add test-suite annotations to cond_expr.c
Add test-suite annotations to function-pointer-modifier-inheritance.c
validation: Update comment in type1.c to reflect current state of Sparse
Add test-suite annotations to init-char-array.c
Add a manpage for cgcc
Add SEE ALSO for cgcc in sparse manpage
Makefile: VERSION=0.4
Kovarththanan Rajaratnam (1):
libxml compile fix on Cygwin
Michael Stefaniuc (3):
Ignore the cdecl and stdcall attributes for now.
Add test for typedef on pointer to function with stdcall attribute.
'\?' is a valid escape character defined by ANSI C. Its value is '?'.
Mike Frysinger (1):
Makefile: improve flag handling
Pavel Roskin (5):
Improve error message if using a member of an incomplete struct or union
Bitfield without explicit sign should be a warning, not an error
cgcc: preserve sparse exit code if -no-compile is used
Avoid use of libc headers in the validation suite
Fix warnings about undeclared globals, they are irrelevant to the test
Ramsay Jones (2):
Add (more) support for WIN32 attribute names
Add cygwin support to cgcc
Randy Dunlap (1):
add __builtin_labs()
Rob Taylor (4):
add end position to symbols
add sparse_keep_tokens api to lib.h
new get_type_name function
add c2xml program
Yura Pakhuchiy (1):
Make cgcc filter out all sparse warning related options
[email protected] (4):
tokenize.c: Replace handwritten strncmp with existing function.
_expression_.c: Clean up match_oplist() and add missing va_end()
parse.c: Adding va_end().
tokenize.c: Simplify drop_stream_eoln().
-- Josh Triplett Posted Sat Sep 15 14:09:29 2007
Sparse
0.3 released
I have tagged and tarballed a 0.3 release of Sparse, now available
from
http://kernel.org/pub/software/devel/sparse/dist/sparse-0.3.tar.gz,
with sha1sum Note that the Sparse Git repository has moved to:
The old repository location will continue to work for now, but please update any references you have to the old location. Thanks to Christopher Li for contributing heavily to this release, including several notable new features. See the full changelog for details. In addition to numerous bug fixes, cleanups, and new test cases, this release includes several new visible features:
Notable internal changes:
Full changelog:
-- Josh Triplett Posted Tue May 1 13:55:48 2007
Sparse
in Google Summer of Code 2007
Google has accepted Sparse as a mentoring organization for Summer of Code 2007. Interested students can propose work on Sparse-related projects, work on those projects over the summer, and receive a stipend from Google for their work. Student application deadline: March 24th Sparse, the semantic parser, provides a compiler frontend capable of parsing most of ANSI C as well as many GCC extensions, and a collection of sample compiler backends, including a static analyzer also called 'sparse'. Sparse provides a set of annotations designed to convey semantic information about types, such as what address space pointers point to, or what locks a function acquires or releases. The Linux kernel community uses Sparse to check for common errors in kernel source code. Other projects, such as X.org, have begun to use Sparse as well. Working on a Sparse project gives students the opportunity to put many core CS skills into practice on a real-world compiler and static analyzer, and gain some recognition within the prominent community of Free and Open Source Software developers working on the Linux kernel. You can see the current Summer of Code project list for Sparse, or propose an idea of your own. Students need to apply by March 24th. You can apply at http://code.google.com/soc. Any Sparse developers interested in mentoring projects over the summer (which primarily consists of answering questions about Sparse, such as on the mailing list), please apply via the Google Summer of Code mentorship application at http://code.google.com/soc/mentor.html, and check the "Sparse" box. Please also mail me with details. Any Linux developers interested in seeing Sparse do something that it can't currently do, please propose possible Summer of Code projects as soon as you can, and I'll add them to the SoC project page. -- Josh Triplett Posted Tue Mar 20 16:59:36 2007
Sparse
0.2 released
I have tagged and tarballed a 0.2 release of Sparse, now available
from
http://kernel.org/pub/linux/kernel/people/josh/sparse/dist/sparse-0.2.tar.gz,
with sha1sum In addition to plenty of bug fixes, this release includes several notable new features:
Full changelog:
-- Josh Triplett Posted Tue Dec 5 03:47:48 2006
Sparse
0.1 released
I have tagged and tarballed a 0.1 release of Sparse, now available
from http://kernel.org/pub/linux/kernel/people/josh/sparse/dist/sparse-0.1.tar.gz,
with sha1sum As discussed in http://marc.theaimsgroup.com/[email protected], I've taken maintainership of sparse. Thanks to Linus Torvalds for his previous maintainership. As a result, this release comes from my sparse Git repository. You can find more information about obtaining sparse via Git at the new sparse homepage. In addition to all the work in the previous Sparse repository
(
Known issue with this release:
-- Josh Triplett Posted Mon Nov 6 21:43:41 2006 |
