FTNCHEK Version 3.3 November 2004 File arg-alias.f: 1 INTEGER LIST(100) 2 EQUIVALENCE (E,B) 3 EQUIVALENCE (E,C) 4 EQUIVALENCE (A,C) 5 A = 1.0 6 CALL FOO(A,D,B,C) 7 CALL FOO(A,B,C,A) 8 CALL FOO(W,X,Y,Z) 9 DO 10 I = 1,100 10 LIST(I) = I 11 10 CONTINUE 12 DO 30 I = 1,100 13 DO 20 J = 1,I 14 CALL SWAP(LIST(I),LIST(J)) 15 20 CONTINUE 16 30 CONTINUE 17 END Module %MAIN: prog External subprograms referenced: FOO: subr SWAP: subr Variables: Name Type Dims Name Type Dims Name Type Dims Name Type Dims A real* B real* C real* D real* E real* I intg* J intg* LIST intg 1 W real* X real* Y real* Z real* * Variable not declared. Type has been implicitly defined. Statement labels defined: Label Line StmtType Label Line StmtType Label Line StmtType <10> 11 exec <20> 15 exec <30> 16 exec 18 SUBROUTINE FOO(A,B,C,D) 19 CALL SWAP(A,B) 20 B = C 21 C = D 22 D = A 23 END Module FOO: subr External subprograms referenced: SWAP: subr Variables: Name Type Dims Name Type Dims Name Type Dims Name Type Dims A real* B real* C real* D real* * Variable not declared. Type has been implicitly defined. 24 SUBROUTINE SWAP(X,Y) 25 INTEGER X,Y 26 INTEGER TEMP 27 TEMP = X 28 X = Y 29 Y = TEMP 30 END 31 Module SWAP: subr Variables: Name Type Dims Name Type Dims Name Type Dims Name Type Dims TEMP intg X intg Y intg 0 syntax errors detected in file arg-alias.f 2 warnings issued in file arg-alias.f "arg-alias.f", line 18: Warning: Subprogram FOO argument usage mismatch at position 1: "arg-alias.f", line 18: Dummy arg A in module FOO may be modified "arg-alias.f", line 6: Actual arg A in module %MAIN same as arg 4: C "arg-alias.f", line 18: and at position 3: "arg-alias.f", line 18: Dummy arg C in module FOO is modified "arg-alias.f", line 6: Actual arg B in module %MAIN same as arg 1: A "arg-alias.f", line 18: and at position 4: "arg-alias.f", line 18: Dummy arg D in module FOO is modified "arg-alias.f", line 6: Actual arg C in module %MAIN same as arg 3: B "arg-alias.f", line 18: Warning: Subprogram FOO argument usage mismatch at position 1: "arg-alias.f", line 18: Dummy arg A in module FOO may be modified "arg-alias.f", line 7: Actual arg A in module %MAIN same as arg 4: A "arg-alias.f", line 18: and at position 2: "arg-alias.f", line 18: Dummy arg B in module FOO is modified "arg-alias.f", line 7: Actual arg B in module %MAIN same as arg 1: A "arg-alias.f", line 18: and at position 3: "arg-alias.f", line 18: Dummy arg C in module FOO is modified "arg-alias.f", line 7: Actual arg C in module %MAIN same as arg 2: B etc... "arg-alias.f", line 18: Warning: Subprogram FOO argument usage mismatch at position 3: "arg-alias.f", line 18: Dummy arg C in module FOO is used before set "arg-alias.f", line 8: Actual arg Y in module %MAIN is not set "arg-alias.f", line 18: and at position 4: "arg-alias.f", line 18: Dummy arg D in module FOO is used before set "arg-alias.f", line 8: Actual arg Z in module %MAIN is not set "arg-alias.f", line 24: Warning: Subprogram SWAP argument data type mismatch at position 1: "arg-alias.f", line 24: Dummy arg X in module SWAP is type intg "arg-alias.f", line 19: Actual arg A in module FOO is type real "arg-alias.f", line 24: and at position 2: "arg-alias.f", line 24: Dummy arg Y in module SWAP is type intg "arg-alias.f", line 19: Actual arg B in module FOO is type real "arg-alias.f", line 24: Warning: Subprogram SWAP argument usage mismatch at position 1: "arg-alias.f", line 24: Dummy arg X in module SWAP is modified "arg-alias.f", line 14: Actual arg LIST(I) in module %MAIN may be same as arg 2: LIST(J) "arg-alias.f", line 24: and at position 2: "arg-alias.f", line 24: Dummy arg Y in module SWAP is modified "arg-alias.f", line 14: Actual arg LIST(J) in module %MAIN may be same as arg 1: LIST(I)