diff options
author | qadeer <unknown> | 2014-12-26 00:56:32 -0800 |
---|---|---|
committer | qadeer <unknown> | 2014-12-26 00:56:32 -0800 |
commit | 71fc5f5b32a5939ad488d6070a6acaf4d7cb443a (patch) | |
tree | 582e3f32855f107bc0deb28127c7c5b081d64600 /Source/Concurrency/YieldTypeChecker.cs | |
parent | 84819ceb711f1ae83327e2006df9bb1003ccd65e (diff) |
strengthened type checking
cleaned up the generation of mover checks (based on example from Chris)
added two examples from Chris to regressions
Diffstat (limited to 'Source/Concurrency/YieldTypeChecker.cs')
-rw-r--r-- | Source/Concurrency/YieldTypeChecker.cs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Source/Concurrency/YieldTypeChecker.cs b/Source/Concurrency/YieldTypeChecker.cs index 8e844ede..95884626 100644 --- a/Source/Concurrency/YieldTypeChecker.cs +++ b/Source/Concurrency/YieldTypeChecker.cs @@ -136,12 +136,12 @@ namespace Microsoft.Boogie {
foreach (var impl in moverTypeChecker.program.Implementations)
{
- if (!moverTypeChecker.procToActionInfo.ContainsKey(impl.Proc) || moverTypeChecker.procToActionInfo[impl.Proc].createdAtLayerNum == 0) continue;
+ if (!moverTypeChecker.procToActionInfo.ContainsKey(impl.Proc)) continue;
impl.PruneUnreachableBlocks();
Graph<Block> implGraph = Program.GraphFromImpl(impl);
implGraph.ComputeLoops();
int specLayerNum = moverTypeChecker.procToActionInfo[impl.Proc].createdAtLayerNum;
- foreach (int layerNum in moverTypeChecker.AllLayerNums)
+ foreach (int layerNum in moverTypeChecker.AllCreatedLayerNums.Except(new int[] { moverTypeChecker.leastUnimplementedLayerNum }))
{
if (layerNum > specLayerNum) continue;
YieldTypeChecker executor = new YieldTypeChecker(moverTypeChecker, impl, layerNum, implGraph.Headers);
|