{: test that a missing procedure name with a conformant array parameter
   is handled gracefully }

{$d+}
program e127( 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;

{ !!! ---v------- missing procedure name }
procedure (aa : array[lo..hi : smallInt] of integer);
begin
   test(aa);
end;

begin {e127}

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

end. { e127 }

