What I saw running sparse on Linux source tree:
paolo [linux-2.6.20] $ make C=2 mm/page-writeback.o
CHK include/linux/version.h
CHK include/linux/utsrelease.h
CHECK scripts/mod/empty.c
CHECK mm/page-writeback.c
mm/page-writeback.c:912:9: warning: symbol 'ret' shadows an earlier one
mm/page-writeback.c:906:6: originally declared here
mm/page-writeback.c:919:9: warning: symbol 'ret' shadows an earlier one
mm/page-writeback.c:906:6: originally declared here
mm/page-writeback.c:933:9: warning: symbol 'ret' shadows an earlier one
mm/page-writeback.c:927:6: originally declared here
mm/page-writeback.c:944:9: warning: symbol 'ret' shadows an earlier one
mm/page-writeback.c:927:6: originally declared here
CC mm/page-writeback.o
Code giving one of these warnings (kernel tree 2.6.20.1), other warnings are
like this. I.e.:
ret = something()
is seen as redeclaration.
int test_set_page_writeback(struct page *page)
{
struct address_space *mapping = page_mapping(page);
int ret;
if (mapping) {
unsigned long flags;
write_lock_irqsave(&mapping->tree_lock, flags);
ret = TestSetPageWriteback(page);
if (!ret)
radix_tree_tag_set(&mapping->page_tree,
page_index(page),
PAGECACHE_TAG_WRITEBACK);
if (!PageDirty(page))
radix_tree_tag_clear(&mapping->page_tree,
page_index(page),
PAGECACHE_TAG_DIRTY);
write_unlock_irqrestore(&mapping->tree_lock, flags);
} else {
ret = TestSetPageWriteback(page);
}
return ret;
}
Tested with both sparse v0.2 and my git HEAD, where I get:
sparse.git $ git-describe
0.2-41-g309f380
Bye
--
Inform me of my mistakes, so I can add them to my list!
Paolo Giarrusso, aka Blaisorblade
http://www.user-mode-linux.org/~blaisorblade
Chiacchiera con i tuoi amici in tempo reale!
http://it.yahoo.com/mail_it/foot/*http://it.messenger.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html