Skip to content
Snippets Groups Projects
Commit 064fa2a0 authored by Nicolas Voirol's avatar Nicolas Voirol Committed by Ravi
Browse files

Small fix to termination checker for NoGuarantee cases

parent 3dfd69be
No related branches found
No related tags found
No related merge requests found
...@@ -86,15 +86,15 @@ abstract class ProcessingPipeline(context: LeonContext, initProgram: Program) ex ...@@ -86,15 +86,15 @@ abstract class ProcessingPipeline(context: LeonContext, initProgram: Program) ex
private val unsolved : MutableSet[Problem] = MutableSet.empty private val unsolved : MutableSet[Problem] = MutableSet.empty
private val dependencies : MutableSet[Problem] = MutableSet.empty private val dependencies : MutableSet[Problem] = MutableSet.empty
def isProblem(fd: FunDef): Boolean = def isProblem(fd: FunDef): Boolean = {
lazy val callees = program.callGraph.transitiveCallees(fd)
lazy val problemDefs = problems.flatMap(_._1.funDefs).toSet
unsolved.exists(_.contains(fd)) || unsolved.exists(_.contains(fd)) ||
dependencies.exists(_.contains(fd)) || { dependencies.exists(_.contains(fd)) ||
val problemDefs = problems.flatMap(_._1.funDefs).toSet unsolved.exists(_.funDefs exists callees) ||
problemDefs(fd) || { dependencies.exists(_.funDefs exists callees) ||
val callees = program.callGraph.transitiveCallees(fd) problemDefs(fd) || (problemDefs intersect callees).nonEmpty
(problemDefs intersect callees).nonEmpty }
}
}
private def printQueue() { private def printQueue() {
val sb = new StringBuilder() val sb = new StringBuilder()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment