FIX: Huge Number in a FORMAT Statement Halts Machine (86927)
The information in this article applies to:
- Microsoft FORTRAN Compiler for MS-DOS 5.0
- Microsoft FORTRAN Compiler for MS-DOS 5.1
- Microsoft FORTRAN compiler for OS/2 5.0
- Microsoft FORTRAN compiler for OS/2 5.1
- Microsoft FORTRAN PowerStation for MS-DOS 1.0
- Microsoft FORTRAN PowerStation for MS-DOS 1.0a
- Microsoft Fortran Powerstation 32 for Windows NT 1.0
This article was previously published under Q86927 SYMPTOMS
Using the Microsoft FORTRAN compiler to compile a program that contains a
syntax error in a FORMAT statement can cause the compiler to halt the
machine under MS-DOS or to generate a protection violation under OS/2.
With FORTRAN PowerStation, the possible symptoms include:
- System Hang
- error F2001: INTEGER value overflow
- error F2115: syntax error
- error F2837: label : undefined
- warning F4989: unexpected character in format
CAUSE
The specific syntax error is caused by a comma at the beginning of a FORMAT
statement, followed by a character string constant that contains large
integer numbers. The real problem is having a huge number in a FORMAT
statement. The out-of-place comma causes the compiler to parse the format
as if the first single quotation mark isn't there. Normally, the compiler
will determine at the end of the parse that the comma shouldn't be there,
and the compiler will issue an error. In this case, however, the machine
halts before the error output. Blanks in numbers are ignored. Having a huge
number in the format causes the same problem (sample code 2). Because
extremely large numbers do not make sense in FORMAT statements, the
expected source of the error is the comma, which causes the string to be
parsed as a number.
RESOLUTION
Correcting the syntax error eliminates the problem.
STATUS
Microsoft has confirmed this to be a bug in the products listed above. This
problem was corrected in Microsoft FORTRAN PowerStation 32, version 4.0.
Modification Type: | Major | Last Reviewed: | 12/1/2003 |
---|
Keywords: | kberrmsg kbfix kbLangFortran KB86927 |
---|
|