summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar akashlal <unknown>2010-09-18 14:45:36 +0000
committerGravatar akashlal <unknown>2010-09-18 14:45:36 +0000
commit23bd0ad65b0b2a8bcea687e7b12047a6005d3889 (patch)
tree6b048fd5f51d532cf067b834e68d6e505bab757b
parentdbc59dc5f6dd703720df9815ed83158a351417fe (diff)
Fixed an off-by-one error. Added "ReachedBound" as a valid boogie outcome.
-rw-r--r--Source/BoogieDriver/BoogieDriver.cs5
-rw-r--r--Source/VCGeneration/VC.cs2
2 files changed, 6 insertions, 1 deletions
diff --git a/Source/BoogieDriver/BoogieDriver.cs b/Source/BoogieDriver/BoogieDriver.cs
index a4635f49..a0005263 100644
--- a/Source/BoogieDriver/BoogieDriver.cs
+++ b/Source/BoogieDriver/BoogieDriver.cs
@@ -617,6 +617,11 @@ namespace Microsoft.Boogie {
default:
Contract.Assert(false); // unexpected outcome
throw new cce.UnreachableException();
+ case VCGen.Outcome.ReachedBound:
+ Inform(String.Format("{0}verified", timeIndication));
+ Console.WriteLine(string.Format("Stratified Inlining: Reached recursion bound of {0}", CommandLineOptions.Clo.RecursionBound));
+ verified++;
+ break;
case VCGen.Outcome.Correct:
if (CommandLineOptions.Clo.vcVariety == CommandLineOptions.VCVariety.Doomed) {
Inform(String.Format("{0}credible", timeIndication));
diff --git a/Source/VCGeneration/VC.cs b/Source/VCGeneration/VC.cs
index 31bcef54..775a04cc 100644
--- a/Source/VCGeneration/VC.cs
+++ b/Source/VCGeneration/VC.cs
@@ -2636,7 +2636,7 @@ namespace VC {
// recursed on proc(id)
public int getRecursionBound(int id)
{
- int ret = 1;
+ int ret = 0;
var str = getProc(id);
while (candidateParent.ContainsKey(id))
{