summaryrefslogtreecommitdiff
path: root/Source/VCGeneration
diff options
context:
space:
mode:
authorGravatar wuestholz <unknown>2014-10-15 11:12:53 +0200
committerGravatar wuestholz <unknown>2014-10-15 11:12:53 +0200
commit2be1a651bf0a6bd93beba047f14c59e91baf73f9 (patch)
tree9228f29c39dd78b4c7cc618797031e9220bb5da8 /Source/VCGeneration
parentc5cb5a9b5b7f8290267aae63fdd7235f2e90edb8 (diff)
Fix issue in verification result caching.
Diffstat (limited to 'Source/VCGeneration')
-rw-r--r--Source/VCGeneration/ConditionGeneration.cs5
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/VCGeneration/ConditionGeneration.cs b/Source/VCGeneration/ConditionGeneration.cs
index 1d5c3e56..859cbae7 100644
--- a/Source/VCGeneration/ConditionGeneration.cs
+++ b/Source/VCGeneration/ConditionGeneration.cs
@@ -1650,9 +1650,10 @@ namespace VC {
&& assign.Lhss.Count == 1)
{
var identExpr = assign.Lhss[0].AsExpr as IdentifierExpr;
- if (identExpr != null && identExpr.Decl != null && QKeyValue.FindBoolAttribute(identExpr.Decl.Attributes, "assumption"))
+ Expr incarnation;
+ if (identExpr != null && identExpr.Decl != null && QKeyValue.FindBoolAttribute(identExpr.Decl.Attributes, "assumption") && incarnationMap.TryGetValue(identExpr.Decl, out incarnation))
{
- passiveCmds.Add(new AssumeCmd(c.tok, new IdentifierExpr(Token.NoToken, identExpr.Decl)));
+ passiveCmds.Add(new AssumeCmd(c.tok, Expr.Not(incarnation)));
}
}
}