summaryrefslogtreecommitdiff
path: root/Source/VCGeneration
diff options
context:
space:
mode:
authorGravatar Unknown <afd@afd-THINK>2012-09-28 11:19:53 +0100
committerGravatar Unknown <afd@afd-THINK>2012-09-28 11:19:53 +0100
commit930161bb7df44eb931e38bc2dc1a480e282d1e94 (patch)
tree2478c1fab29cc9f7ca7e5a2b3bc7015dadd5ed50 /Source/VCGeneration
parent00ece9690862b315ac57c45c1dfb066f5d53b4cb (diff)
Fixed bug with uniformity analysis for havoc. Allowed barrier invariants to
support a more expressive class of expressions. Refactored thread id creation functions.
Diffstat (limited to 'Source/VCGeneration')
-rw-r--r--Source/VCGeneration/UniformityAnalyser.cs10
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/VCGeneration/UniformityAnalyser.cs b/Source/VCGeneration/UniformityAnalyser.cs
index 849333b3..802ee2d2 100644
--- a/Source/VCGeneration/UniformityAnalyser.cs
+++ b/Source/VCGeneration/UniformityAnalyser.cs
@@ -309,6 +309,16 @@ namespace Microsoft.Boogie
}
}
}
+ else if (c is HavocCmd)
+ {
+ HavocCmd havocCmd = c as HavocCmd;
+ foreach(IdentifierExpr ie in havocCmd.Vars)
+ {
+ if(IsUniform(impl.Name, ie.Decl.Name)) {
+ SetNonUniform(impl.Name, ie.Decl.Name);
+ }
+ }
+ }
else if (c is CallCmd)
{
CallCmd callCmd = c as CallCmd;