Skip to content
Snippets Groups Projects
Commit ac73de87 authored by Nicolas Voirol's avatar Nicolas Voirol
Browse files

Small fix to termination checker for NoGuarantee cases

parent 8f06185c
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