summaryrefslogtreecommitdiff
path: root/Test/snapshots/Snapshots17.v1.bpl
diff options
context:
space:
mode:
authorGravatar wuestholz <unknown>2014-07-04 03:52:02 +0200
committerGravatar wuestholz <unknown>2014-07-04 03:52:02 +0200
commit06aadffd71f2d96070703371c62bd0e14c76b91f (patch)
tree9bae55508560d840e8b479067fc2fe1185e9d3a5 /Test/snapshots/Snapshots17.v1.bpl
parentc7508e18b12db7a1acee981560163e2c319dfc5b (diff)
Implemented an optimization for assignments to assumption variables that are injected by the verification result caching for calls within loops.
Diffstat (limited to 'Test/snapshots/Snapshots17.v1.bpl')
-rw-r--r--Test/snapshots/Snapshots17.v1.bpl32
1 files changed, 32 insertions, 0 deletions
diff --git a/Test/snapshots/Snapshots17.v1.bpl b/Test/snapshots/Snapshots17.v1.bpl
new file mode 100644
index 00000000..4d22ab3d
--- /dev/null
+++ b/Test/snapshots/Snapshots17.v1.bpl
@@ -0,0 +1,32 @@
+procedure {:checksum "0"} M();
+
+implementation {:id "M"} {:checksum "1"} M()
+{
+ var x: int;
+
+ x := 0;
+ while (*)
+ {
+ while (*)
+ {
+ assert true;
+
+ call N();
+
+ call N();
+
+ x := x + 1;
+
+ assert x == 1; // error
+ }
+
+ call N();
+
+ assert false; // error
+ }
+
+ assert true;
+}
+
+procedure {:checksum "3"} N();
+ ensures true;