summaryrefslogtreecommitdiff
path: root/Source/Core/DeadVarElim.cs
diff options
context:
space:
mode:
authorGravatar qadeer <unknown>2013-10-15 10:05:45 -0700
committerGravatar qadeer <unknown>2013-10-15 10:05:45 -0700
commit24c561dbaf27069edb0753b15a81dbba6e2c0961 (patch)
tree641ea8b3e1efcd9646a9423d6c6732018f2e7966 /Source/Core/DeadVarElim.cs
parent225f211c0b94ad3d13dee857596f322b666fe259 (diff)
bug fix in yield inference in modset analysis
Diffstat (limited to 'Source/Core/DeadVarElim.cs')
-rw-r--r--Source/Core/DeadVarElim.cs10
1 files changed, 8 insertions, 2 deletions
diff --git a/Source/Core/DeadVarElim.cs b/Source/Core/DeadVarElim.cs
index 900546e6..9a35e9f4 100644
--- a/Source/Core/DeadVarElim.cs
+++ b/Source/Core/DeadVarElim.cs
@@ -116,11 +116,17 @@ namespace Microsoft.Boogie {
{
x.Modifies.Add(new IdentifierExpr(v.tok, v));
}
- if (yieldingProcs.Contains(x) && !QKeyValue.FindBoolAttribute(x.Attributes, "yields"))
+ }
+ foreach (Procedure x in yieldingProcs)
+ {
+ if (!QKeyValue.FindBoolAttribute(x.Attributes, "yields"))
{
x.AddAttribute("yields");
}
- if (asyncAndParallelCallTargetProcs.Contains(x) && !QKeyValue.FindBoolAttribute(x.Attributes, "stable"))
+ }
+ foreach (Procedure x in asyncAndParallelCallTargetProcs)
+ {
+ if (!QKeyValue.FindBoolAttribute(x.Attributes, "stable"))
{
x.AddAttribute("stable");
}