FIX: Nested $IF Statements With $ELSE Fail (84164)
The information in this article applies to:
- Microsoft FORTRAN Compiler for MS-DOS 5.1
- 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 Q84164 SYMPTOMS
Compiling code that contains nested $IF compiler conditions with $ELSE
clauses fails to produce the expected result. The compiler issues error:
error F2830: END missing
This error is generated because all of the source code following the $ELSE
condition fails to be compiled.
CAUSE
When there is a $ELSE following a $ENDIF and the outer $IF condition is met
making the $ELSE condition false the compiler fails to parse for any
metacommands following the $ELSE including the $ENDIF that terminates the
outer $IF block.
RESOLUTION
Do not use nested $IF metacommands with $ELSE clauses.
STATUS
Microsoft has confirmed this to be a problem 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 KB84164 |
---|
|