Skip to content

Commit 01fe089

Browse files
authored
Merge pull request #699 from viperproject/meilers_fix_698
Using correct heap to evaluate old expressions in postcondition...
2 parents 43c200f + af9d084 commit 01fe089

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

src/main/scala/rules/Executor.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,7 @@ object executor extends ExecutionRules {
490490
val postCondId = v2.symbExLog.openScope(postCondLog)
491491
val outs = meth.formalReturns.map(_.localVar)
492492
val gOuts = Store(outs.map(x => (x, v2.decider.fresh(x))).toMap)
493-
val s4 = s3.copy(g = s3.g + gOuts, oldHeaps = s3.oldHeaps + (Verifier.PRE_STATE_LABEL -> s1.h))
493+
val s4 = s3.copy(g = s3.g + gOuts, oldHeaps = s3.oldHeaps + (Verifier.PRE_STATE_LABEL -> magicWandSupporter.getEvalHeap(s1)))
494494
produces(s4, freshSnap, meth.posts, _ => pveCall, v2)((s5, v3) => {
495495
v3.symbExLog.closeScope(postCondId)
496496
v3.decider.prover.saturate(Verifier.config.proverSaturationTimeouts.afterContract)

0 commit comments

Comments
 (0)