FIX: Recursive Structure and /Zi Cause Protection Violation (81262)



The information in this article applies to:

  • Microsoft FORTRAN Compiler for MS-DOS 5.1
  • Microsoft FORTRAN compiler for OS/2 5.1

This article was previously published under Q81262

SYMPTOMS

The Microsoft FORTRAN 5.1 compiler may generate a protection violation under OS/2 or hang the machine under MS-DOS during the first pass of the compile if it compiles code that contains a recursive structure definition and an instance of that structure is declared with a RECORD statement. The code must be compiled with the /Zi option to generate the error.

RESOLUTION

Do not compile routines with recursive structure definitions with the /Zi option. Use the /Zd option to get line number and global symbol information for that routine.

STATUS

Microsoft has confirmed this to be a problem in FORTRAN version 5.1. This problem was corrected in FORTRAN PowerStation, version 1.0.

MORE INFORMATION

The following code reproduces the problem (must be compiled with /Zi):

Sample code

C Compile options needed: /Zi

      structure /struct/ 
        record /struct/ recur
        integer i
      end structure

      record /struct/ mystruct
      end
				

Modification Type:MajorLast Reviewed:10/23/2003
Keywords:kbfix KB81262