if you see all possible paths through the program as a tree which branches
for every decision then you only need to cut off the branches that are
actually pointing upward the tree again. This would still allow to follow
down into the callees of the recursive function because there should be
at least one path that is non recursive (if not Checker should definitely
complain ;)
e.g.
----<-----------------+
v |
IF TRUE RECURSION
-------+------ some path ----+
|
ELSE non recursive path
+-------------------------- other functions ---------->
Other functions can be still checked, you only need to prune the cycle.
I have no idea if checker's algorithms actually work like this, but I could
imagine that it would be one possible implementation.
-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/