{: test that only the last dimension of a conformant array parameter may be
packed.  Otherwise there is a compilation error }

{$d+}
program e102( output );

type
   smallInt =  1..10;

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

    { !!! only the last dimension may be packed }
procedure test(aa : packed array[lo1..hi1 : smallInt] of
                           array[lo2..hi2 : smallInt] of smallInt);
var
   aa1 : array[smallInt] of integer;
   z   : smallInt;
begin
   z := lo1;
   aa[z,hi2] := 3;
   aa[hi1,hi2] := 3;
   if z > 3 then
      test(aa);
   writeln( 'fails: conformant array bounds error is not detected' );
end;
begin {e102}


end. { e102 }

