summaryrefslogtreecommitdiff
path: root/Test/inline/codeexpr.bpl
diff options
context:
space:
mode:
authorGravatar qadeer <unknown>2013-08-15 12:38:35 -0700
committerGravatar qadeer <unknown>2013-08-15 12:38:35 -0700
commitf1f3d32ba043c0468dd04dfcfa7ac02c3fa1876c (patch)
tree3cb903196262d0094c01d4db28f2e0c12edae1f9 /Test/inline/codeexpr.bpl
parent1ab4adb8ac3d6f5bd20801b2170c3f7bf00b8234 (diff)
inlining is now done in rhs of assignments for codeexprs
added more regressions
Diffstat (limited to 'Test/inline/codeexpr.bpl')
-rw-r--r--Test/inline/codeexpr.bpl26
1 files changed, 25 insertions, 1 deletions
diff --git a/Test/inline/codeexpr.bpl b/Test/inline/codeexpr.bpl
index bd57329f..67728ea5 100644
--- a/Test/inline/codeexpr.bpl
+++ b/Test/inline/codeexpr.bpl
@@ -5,6 +5,11 @@ procedure {:inline 1} bar() returns (l: bool)
l := g;
}
+procedure {:inline 1} baz() returns (l: bool)
+{
+ call l := bar();
+}
+
procedure A1()
modifies g;
{
@@ -33,4 +38,23 @@ modifies g;
{
g := true;
assert |{ var l: bool; A: call l := bar(); return !l; }|;
-} \ No newline at end of file
+}
+
+procedure A5()
+modifies g;
+{
+ var m: bool;
+
+ g := true;
+ m := |{ var l: bool; A: call l := bar(); return l; }|;
+ assert m;
+}
+
+procedure A6()
+modifies g;
+{
+ g := true;
+ assert |{ var l: bool; A: call l := baz(); return l; }|;
+ assert (exists p: bool :: |{ var l: bool; A: call l := baz(); return l; }|);
+ assert (forall p: bool :: |{ var l: bool; A: call l := baz(); return l; }|);
+}