ID: Q84164
5.10 1.00 1.00a | 5.10 | 1.00 4.00
MS-DOS | OS/2 | WINDOWS NT
The information in this article applies to:
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.
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.
Do not use nested $IF metacommands with $ELSE clauses.
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.
The following code reproduces the problem:
$define first
subroutine test
$if defined (first)
$if defined (second)
$endif
$else
$endif
return
end
Additional reference words: 5.10 1.00 1.00a
KBCategory:
KBSubcategory: FLIss
Keywords : kberrmsg kbLangFortran
Version : 5.10 1.00 1.00a | 5.10 | 1.00 4.
Platform : MS-DOS NT OS/2 WINDOWS
Solution Type : kbfix
Last Reviewed: May 23, 1998