Article ID: 49467
Article Last Modified on 12/1/2003
APPLIES TO
- Microsoft FORTRAN Compiler 4.0
- Microsoft FORTRAN Compiler 4.01
- Microsoft FORTRAN Compiler 4.1
- Microsoft FORTRAN Compiler 5.0
- Microsoft FORTRAN Compiler 5.1
- Microsoft FORTRAN Compiler 4.1
- Microsoft FORTRAN Compiler 5.0
- Microsoft FORTRAN Compiler 5.1
- Microsoft FORTRAN PowerStation 1.0 Standard Edition
- Microsoft Fortran PowerStation 1.0a for MS-DOS
- Microsoft FORTRAN PowerStation 32
- Microsoft FORTRAN PowerStation 32
This article was previously published under Q49467
SYMPTOMS
During the process of compiling an application, the compiler generates the following messages:
FORTRAN 5.x
FORTRAN PowerStation
FORTRAN PowerStation 32, version 4.0
CAUSE
In a FORTRAN application developed in the DEC VAX environment, it is not necessary to be consistent when passing actual arguments to a subprogram. However, the Microsoft FORTRAN compiler detects the inconsistency and generates these errors.
RESOLUTION
The errors are recoverable errors; the compiler produces an OBJ file after reporting the errors. You can either choose to ignore the errors or to modify the source code to be consistent when it passes formal arguments.
MORE INFORMATION
The following code example demonstrates this problem.
Sample Code
C Compiler options needed: None INTEGER*4 INTX LOGICAL*1 LOGIC CALL SUB1(LOGIC) CALL SUB1(INTX) END C SUBROUTINE SUB1(INTY) INTEGER*4 INTY END
When the compiler processes this code, it reserves 4 bytes for the INTX variable and 1 byte for LOGIC. When it processes the first call to SUB1, it assumes that the formal argument requires only 1 byte. Then, when it processes the second call to SUB1, it determines that the formal argument requires 4 bytes and produces the errors. In this case, both the length and the type of the formal argument changed between calls.
Additional query words: 4.00 4.01 4.10 5.00 5.10
Keywords: kberrmsg kblangfortran KB49467