Here is a testcase that should get into the mailing list archives... Jeff -------- Original Message -------- Subject: [problem] sparse llvm loop conditions Date: Wed, 23 Nov 2011 08:56:25 +0200 From: Pekka Enberg <penberg@xxxxxxxxxx> To: Jeff Garzik <jeff@xxxxxxxxxx> Hi Jeff, Have you seen this already? [penberg@tux sparse]$ cat loop.c struct list_node { struct list_node *next; }; int foo(struct list_node *node) { int ret = 0; while (node) { node = node->next; ret++; } return ret; } [penberg@tux sparse]$ ./sparse-llvm loop.c loop.c:5:5: warning: symbol 'foo' was not declared. Should it be static? sparse-llvm: Instructions.cpp:730: void llvm::BranchInst::AssertOK(): Assertion `getCondition()->getType()->isIntegerTy(1) && "May only branch on boolean predicates!"' failed. Aborted Pekka -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html