diff options
author | akashlal <unknown> | 2010-09-05 15:31:56 +0000 |
---|---|---|
committer | akashlal <unknown> | 2010-09-05 15:31:56 +0000 |
commit | 34b52bfc6d4e62a7e8f8c71839952a386b372de2 (patch) | |
tree | a358a91917e943cba937973f4175403ff34f4071 | |
parent | 07f7c5bd1600d1fbe90eba8f8f150fe526626568 (diff) |
Added a new VC.ConditionGeneration.Outcome: StratifiedInlining can signal that it has reached the recursion bound.
-rw-r--r-- | Source/Core/Absy.cs | 1 | ||||
-rw-r--r-- | Source/VCGeneration/ConditionGeneration.cs | 3 | ||||
-rw-r--r-- | Source/VCGeneration/VC.cs | 9 |
3 files changed, 8 insertions, 5 deletions
diff --git a/Source/Core/Absy.cs b/Source/Core/Absy.cs index 63f6d28d..32165b3e 100644 --- a/Source/Core/Absy.cs +++ b/Source/Core/Absy.cs @@ -701,6 +701,7 @@ namespace Microsoft.Boogie { foreach (Implementation/*!*/ loopImpl in loopImpls) {
Contract.Assert(loopImpl != null);
TopLevelDeclarations.Add(loopImpl);
+ TopLevelDeclarations.Add(loopImpl.Proc);
}
return fullMap;
}
diff --git a/Source/VCGeneration/ConditionGeneration.cs b/Source/VCGeneration/ConditionGeneration.cs index c7761a37..dc13725f 100644 --- a/Source/VCGeneration/ConditionGeneration.cs +++ b/Source/VCGeneration/ConditionGeneration.cs @@ -360,7 +360,8 @@ namespace VC { Errors,
TimedOut,
OutOfMemory,
- Inconclusive
+ Inconclusive,
+ ReachedBound
}
[ContractInvariantMethod]
diff --git a/Source/VCGeneration/VC.cs b/Source/VCGeneration/VC.cs index 23b75bbf..8a7edc75 100644 --- a/Source/VCGeneration/VC.cs +++ b/Source/VCGeneration/VC.cs @@ -2198,10 +2198,6 @@ namespace VC { checker.TheoremProver.Pop();
}
- if (!done)
- {
- return Outcome.TimedOut;
- }
#region Coverage reporter
if (CommandLineOptions.Clo.CoverageReporterPath == "Console")
@@ -2223,6 +2219,11 @@ namespace VC { }
#endregion
+ if (!done)
+ {
+ return Outcome.ReachedBound;
+ }
+
return ret;
}
|