summaryrefslogtreecommitdiff
path: root/Source/VCGeneration/VC.cs
diff options
context:
space:
mode:
authorGravatar wuestholz <unknown>2011-12-02 10:58:47 +0100
committerGravatar wuestholz <unknown>2011-12-02 10:58:47 +0100
commita16ac98f4aa7657d999753e299e32613e10f1c5d (patch)
treedaf540ec9cca24386a3c3dc8131ddb10dd4236ff /Source/VCGeneration/VC.cs
parent34112b0b3da6642b5b18ce2dd53d6b6d57cc214f (diff)
Boogie: Fixed a crash due to old expressions in lambda expressions that were not replaced after lambda expansion.
(reported by Florian Egli)
Diffstat (limited to 'Source/VCGeneration/VC.cs')
-rw-r--r--Source/VCGeneration/VC.cs4
1 files changed, 4 insertions, 0 deletions
diff --git a/Source/VCGeneration/VC.cs b/Source/VCGeneration/VC.cs
index 486f940f..36b9edc2 100644
--- a/Source/VCGeneration/VC.cs
+++ b/Source/VCGeneration/VC.cs
@@ -2388,6 +2388,10 @@ namespace VC {
Block entryBlock = cce.NonNull( impl.Blocks[0]);
cmds.AddRange(entryBlock.Cmds);
entryBlock.Cmds = cmds;
+ // Make sure that all added commands are passive commands.
+ Hashtable incarnationMap = ComputeIncarnationMap(entryBlock, new Hashtable());
+ TurnIntoPassiveBlock(entryBlock, incarnationMap, mvInfo,
+ ComputeOldExpressionSubstitution(impl.Proc.Modifies));
}
}