|
Forcheck verifies argument lists
1 c
2 c FORCHECK
3 c Global argument list verification
4
5 PROGRAM Refer
6 REAL r1
7 CHARACTER(80) linbuf
8 DO i = 1, 2
9 CALL Print(linbuf, r1, 12, i)
10 ENDDO
11 END
13 SUBROUTINE Print (Linbuf, Arg1, Arg2, Arg3, Arg4)
14 INTEGER Arg1, Arg2, Arg3, Arg4
15 CHARACTER(120) linbuf
16 Print *, Linbuf
17 Arg2 = Arg2 + 1
18 Arg3 = Arg3 + 1
19 END
|
global program analysis:
(file: arglst.for, line: 9)
PRINT, referenced in REFER
**[565 E] number of arguments inconsistent with specification
(file: arglst.for, line: 9)
PRINT, referenced in REFER, argument no 1 (LINBUF)
**[616 E] referenced input or input/output argument is not defined
(The dummy argument is referenced before defined)
(file: arglst.for, line: 9)
PRINT, referenced in REFER, argument no 1 (LINBUF)
**[598 E] actual array or character variable shorter than dummy
(file: arglst.for, line: 9)
PRINT, referenced in REFER, argument no 2 (ARG1)
**[579 E] argument type inconsistent with specification (int/real)
(file: arglst.for, line: 9)
PRINT, referenced in REFER, argument no 3 (ARG2)
**[602 E] invalid assignment: actual argument is constant or expression
(file: arglst.for, line: 9)
PRINT, referenced in REFER, argument no 4 (ARG3)
**[604 E] invalid assignment: the actual argument is an active DO variable
|
|