78 lines
1.3 KiB
Plaintext
78 lines
1.3 KiB
Plaintext
-- This file tests simple array uses without replication
|
|
-- Four unknown variables are available; x, y, z.
|
|
-- Two arrays are automatically declared; a (size 10) and b (size 12)
|
|
|
|
PROC p(INT x, y, z)
|
|
[10]INT a:
|
|
[12]INT b:
|
|
PAR
|
|
%%
|
|
:
|
|
|
|
PROC m()
|
|
SKIP
|
|
:
|
|
|
|
%PASS Distinct constants
|
|
a[0] := 3
|
|
a[1] := 4
|
|
a[4] := 5
|
|
|
|
%FAIL Identical constants
|
|
a[0] := 3
|
|
a[0] := 4
|
|
|
|
%PASS Same constant, different array
|
|
a[0] := 3
|
|
b[0] := 4
|
|
|
|
%FAIL Variable and a constant
|
|
a[0] := 3
|
|
a[x] := 4
|
|
|
|
%PASS Out of bounds variable overlap #1
|
|
a[x * 10] := 3
|
|
a[(y * 9) + 1] := 4
|
|
|
|
%PASS Out of bounds variable overlap #2
|
|
a[x * 11] := 3
|
|
a[(y * 10) + 1] := 4
|
|
|
|
%FAIL In bounds variable overlap
|
|
a[x * 9] := 3
|
|
a[(y * 8) + 1] := 4
|
|
|
|
%PASS Overlap with constants, but in sequence
|
|
SEQ
|
|
a[0] := 4
|
|
a[0] := 5
|
|
a[1] := 6
|
|
|
|
%FAIL Overlap with constants in nested PAR
|
|
PAR
|
|
a[0] := 4
|
|
a[0] := 5
|
|
a[1] := 6
|
|
|
|
%FAIL Two variables
|
|
a[x] := 3
|
|
a[y] := 5
|
|
|
|
%PASS Modulo variable (c.d.) and a constant, safe
|
|
a[x REM 3] := 3
|
|
a[3] := 4
|
|
|
|
%FAIL Modulo variable (c.d.) and a constant, unsafe
|
|
a[x REM 3] := 3
|
|
a[2] := 4
|
|
|
|
%FAIL Modulo variable (v.d.) and a constant
|
|
a[x REM y] := 3
|
|
a[0] := 4
|
|
|
|
%FAIL Modulo variable (v.d.) and normal variable (unsafe)
|
|
a[x REM y] := 3
|
|
a[x + 1] := 4
|
|
|
|
%
|