summaryrefslogtreecommitdiff
path: root/Test/test1/EmptyCallArgs.bpl
blob: 18d837a9dc4dc753f81d1525c674697e8066b007 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
type C;

procedure P(x:int, y:bool) returns (z:C);
procedure Q<a>(x:int, y:a) returns (z:a);

procedure CallP() {
  var x:int;
  var y:bool;
  var z:C;

  call z := P(x, y);
  call * := P(x, y);
  call z := P(*, y);
  call z := P(x, *);
  call * := P(*, x);   // type error
  call * := P(x, *);
  call z := P(*, *);
  call * := P(*, *);
}

procedure CallQ() {
  var x:int;
  var y:bool;
  var z:bool;

  call x := Q(x, y);   // type error
  call * := Q(x, y);
  call x := Q(*, y);   // type error
  call x := Q(x, *);
  call * := Q(*, y);
}