diff options
Diffstat (limited to 'Test/inline/InliningAndLoops.bpl')
-rw-r--r-- | Test/inline/InliningAndLoops.bpl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/Test/inline/InliningAndLoops.bpl b/Test/inline/InliningAndLoops.bpl new file mode 100644 index 00000000..970591a5 --- /dev/null +++ b/Test/inline/InliningAndLoops.bpl @@ -0,0 +1,20 @@ +procedure foo(N: int)
+ requires N == 2;
+{
+ var n, sum, recent: int;
+ n, sum := 0, 0;
+ while (n < N)
+ {
+ call recent := bar();
+ sum, n := sum + recent, n + 1;
+ }
+ if (n == 2) {
+ assert sum == recent + recent; // no reason to believe this always to be true
+ }
+}
+
+procedure {:inline 1} bar() returns (r: int)
+{
+ var x: int;
+ r := x;
+}
|