1
|
procedure proc1:
|
2
|
define input-output parameter p as int extent.
|
3
|
if extent(p) <> 2 then message "ERR (proc1) p <> 2".
|
4
|
message "INF (proc1) Expect to get continue-error 'Indeterminate extent is already fixed to a dimension of 2. (13738)'".
|
5
|
extent(p) = 3.
|
6
|
message "INF (proc1) This is unexpected".
|
7
|
end.
|
8
|
|
9
|
def var i1 as int extent 2.
|
10
|
run proc1(input-output i1) no-error.
|
11
|
if extent(i1) <> 2 then message "ERR i1 <> 2".
|
12
|
|
13
|
message "This is expected".
|
14
|
|
15
|
procedure proc2:
|
16
|
define input-output parameter p as int extent.
|
17
|
if extent(p) <> 2 then message "ERR (proc2) p <> 2".
|
18
|
message "INF (proc2) Expect to get continue-error 'Indeterminate extent is already fixed to a dimension of 2. (13738)'".
|
19
|
extent(p) = 3.
|
20
|
message "INF (proc2) This is unexpected".
|
21
|
end.
|
22
|
|
23
|
def var i2 as int extent 2.
|
24
|
run proc2(input-output i2).
|
25
|
if extent(i2) <> 2 then message "ERR i2 <> 2".
|
26
|
|
27
|
message "This is expected".
|
28
|
|
29
|
procedure proc3:
|
30
|
define output parameter p as int extent.
|
31
|
if extent(p) <> ? then message "ERR (proc3) p <> ?".
|
32
|
extent(p) = 3.
|
33
|
if extent(p) <> 3 then message "ERR (proc3) p <> 3".
|
34
|
message "INF (proc3) Expect to get continue-error 'Extent parameter dimension of 2 from procedure...'".
|
35
|
end.
|
36
|
|
37
|
def var i3 as int extent 2.
|
38
|
run proc3(output i3) no-error.
|
39
|
if extent(i3) <> 2 then message "ERR i3 <> 2".
|
40
|
|
41
|
message "This is expected".
|
42
|
|
43
|
procedure proc4:
|
44
|
define output parameter p as int extent.
|
45
|
if extent(p) <> ? then message "ERR (proc4) p <> ?".
|
46
|
extent(p) = 3.
|
47
|
if extent(p) <> 3 then message "ERR (proc4) p <> 3".
|
48
|
message "INF (proc4) Expect to get continue-error 'Extent parameter dimension of 2 from procedure...'".
|
49
|
end.
|
50
|
|
51
|
def var i4 as int extent 2.
|
52
|
run proc4(output i4).
|
53
|
|
54
|
message "This is unexpected.".
|
55
|
|
56
|
|