summaryrefslogtreecommitdiff
path: root/Source/Core/DeadVarElim.cs
diff options
context:
space:
mode:
authorGravatar Rustan Leino <unknown>2013-04-18 17:09:54 -0700
committerGravatar Rustan Leino <unknown>2013-04-18 17:09:54 -0700
commit17f256d5d13e13aebbb135f1be78ec551090ec14 (patch)
treeea8c5fd0672f6ce3dfed4f57b90d3a9f5f2efac8 /Source/Core/DeadVarElim.cs
parent2afe289c11d78711d4483e1ed36346998689668c (diff)
Fix mod-set traversal to do visit code inside code expressions.
Diffstat (limited to 'Source/Core/DeadVarElim.cs')
-rw-r--r--Source/Core/DeadVarElim.cs5
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/Core/DeadVarElim.cs b/Source/Core/DeadVarElim.cs
index d51fcdb3..31121093 100644
--- a/Source/Core/DeadVarElim.cs
+++ b/Source/Core/DeadVarElim.cs
@@ -200,6 +200,11 @@ namespace Microsoft.Boogie {
moreProcessingRequired = true;
modSets[localProc].Add(var);
}
+ public override Expr VisitCodeExpr(CodeExpr node) {
+ // don't go into the code expression, since it can only modify variables local to the code expression,
+ // and the mod-set analysis is interested in global variables
+ return node;
+ }
}
public class VariableCollector : StandardVisitor {