summaryrefslogtreecommitdiff
path: root/Test/inline/InliningAndLoops.bpl
diff options
context:
space:
mode:
Diffstat (limited to 'Test/inline/InliningAndLoops.bpl')
-rw-r--r--Test/inline/InliningAndLoops.bpl20
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;
+}