{: test that actual and formal conformant array parameters have the
   same numebr of dimensions.  Otherwise there is a compilation error }

{$d+}
program e109( output );

type
   smallInt =  1..10;

var
   a : array[1..10] of smallInt;

procedure test(aa : array[lo1..hi1 : smallInt; lo2..hi2 : smallInt] of smallInt);
var
   aa1 : array[smallInt] of integer;
   z   : smallInt;
begin
   z := lo1;
   aa[z,lo2] := 3;
   aa[hi1,z] := 3;
   writeln( 'fails: conformant array error is not detected' );
end;
begin {e109}

   test(a);   { !!! 1d array does not go into 2d array }

end. { e109 }

