summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar akashlal <unknown>2010-09-05 15:31:56 +0000
committerGravatar akashlal <unknown>2010-09-05 15:31:56 +0000
commit34b52bfc6d4e62a7e8f8c71839952a386b372de2 (patch)
treea358a91917e943cba937973f4175403ff34f4071
parent07f7c5bd1600d1fbe90eba8f8f150fe526626568 (diff)
Added a new VC.ConditionGeneration.Outcome: StratifiedInlining can signal that it has reached the recursion bound.
-rw-r--r--Source/Core/Absy.cs1
-rw-r--r--Source/VCGeneration/ConditionGeneration.cs3
-rw-r--r--Source/VCGeneration/VC.cs9
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;
}