home *** CD-ROM | disk | FTP | other *** search
/ ftp.ee.pdx.edu / 2014.02.ftp.ee.pdx.edu.tar / ftp.ee.pdx.edu / pub / users / Harry / compilers / p6 / tst / callErr.pcat < prev    next >
Text File  |  2005-11-18  |  1KB  |  35 lines

  1. (* Test procedure and function invocation.
  2. **
  3. ** This program contains 15 errors.
  4. *)
  5.  
  6. program is
  7.   type ARR is array of integer;
  8.   var i: integer := 0;
  9.   procedure f1 () : integer
  10.       is begin return 0; end;
  11.   procedure f2 ()
  12.       is begin return; end;
  13.   procedure f3 () : real
  14.       is begin return 0.0; end;
  15.   procedure f4 (w,x,y,z: integer)
  16.       is begin return; end;
  17.   procedure f5 (w,x,y,z: integer) : integer
  18.       is begin return 0; end;
  19.   procedure f6 (x: real; i: integer; b: boolean; a: ARR)
  20.       is begin return; end;
  21.   procedure f7 (x: real; i: integer; b: boolean; a: ARR) : integer
  22.       is begin return 0; end;
  23.  
  24. begin
  25.   f1 ();                         (*** Error: f1 is non-void ***)
  26.   i := f2 ();                    (*** Error: f2 is void ***)
  27.   i := f3 ();                    (*** Error: wrong return type ***)
  28.   f4 (1,2,3);                    (*** Error: too few args ***)
  29.   f4 (1,2,3,4,5);                (*** Error: too many args ***)
  30.   i := f5 (1,2,3);               (*** Error: too few args ***)
  31.   i := f5 (1,2,3,4,5);           (*** Error: too many args ***)
  32.   f6 (true, 1.1, nil, 1);        (*** 4 Errors: all args have wrong type ***)
  33.   i := f7 (true, 1.1, nil, 1);   (*** 4 Errors: all args have wrong type ***)
  34. end;
  35.