FIX: Nested $IF Statements With $ELSE FailLast reviewed: September 16, 1997Article ID: Q84164 |
5.10 1.00 1.00a | 5.10 | 1.00 4.00
MS-DOS | OS/2 | WINDOWS NTkbtool kbfixlist kberrmsg The information in this article applies to:
SYMPTOMSCompiling code that contains nested $IF compiler conditions with $ELSE clauses fails to produce the expected result. The compiler issues error:
error F2830: END missingThis error is generated because all of the source code following the $ELSE condition fails to be compiled.
CAUSEWhen 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.
RESOLUTIONDo not use nested $IF metacommands with $ELSE clauses.
STATUSMicrosoft has confirmed this to be a problem in the products listed above. This problem was corrected in Microsoft FORTRAN PowerStation 32, version 4.0.
MORE INFORMATIONThe following code reproduces the problem:
Sample code$define first subroutine test$if defined (first) $if defined (second) $endif $else $endif return end |
Additional reference words: 5.10 1.00 1.00a
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |