FIX: /AH and /4Yb with Adjustable-Size Arrays Cause F2124 (85120)



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 Q85120

SYMPTOMS

Compiling code with the /4Yb and /AH options that contains an adjustable- size array that is passed in a CALL statement to another subroutine may cause the compiler to generate the following error:
error F2124: CODE GENERATION ERROR

CAUSE

The problem is caused by common sub-expression elimination optimization.

RESOLUTION

Compiling with /Od will suppress the error. When debugging is completed and the /4Yb option is removed full optimization can then be used.

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

Compiling the following code with /AH and /4Yb will reproduce the problem:

Sample code

     subroutine sub1(n,p)
      real p(n,2,1)

      call sub2(p(1,2,1))

      return
      end
				

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