{: test that an undefined component type with a conformant array parameter
   is handled gracefully }

{$d+}
program e129( output );

type
   smallInt  =  1..10;


var
   a0: array[smallInt] of integer;
   a1: array[smallInt] of integer;
   a2: array[smallInt] of integer;
   a3: array[smallInt] of integer;

procedure test(aa : array[lo..hi : smallInt] of integer);
var
   aa1 : array[smallInt] of integer;
   z   : smallInt;
begin
   z := lo;
   aa[z] := 3;
   aa[hi] := 3;
end;

{ !!!           undefined component type   ------v------- }
procedure test0(aa : array[lo..hi : smallInt] of int);
begin
   test(aa);
end;

begin {e129}

   test(a1);  { OK }
   writeln( 'fails: conformant array error is not detected' );

end. { e129 }

