Microsoft KB Archive/112057

From BetaArchive Wiki

Article ID: 112057

Article Last Modified on 10/2/2003



APPLIES TO

  • Microsoft FORTRAN PowerStation 1.0 Standard Edition
  • Microsoft Fortran PowerStation 1.0a for MS-DOS



This article was previously published under Q112057

SYMPTOMS

Compiling a routine (that uses adjustable sized COMPLEX arrays in an expression with a COMPLEX constant) with the /4Yb (or $debug) option may produce the following error with FORTRAN PowerStation 1.0:

fatal error F1001: INTERNAL COMPILER ERROR
(compiler file '@(#)regasg.c:1.25', line 451)
Contact Microsoft Product Support Services

Using FORTRAN PowerStation 1.0a, the following error may be produced:

fatal error F1001: INTERNAL COMPILER ERROR
(compiler file '@(#)regasg.c:1.25', line 453)
Contact Microsoft Product Support Services

RESOLUTION

Either use the CMPLX or DCMPLX intrinsic function on the COMPLEX constant, or do not compile with extended error handling.

STATUS

Microsoft has confirmed this to be a problem in FORTRAN PowerStation versions 1.0 and 1.0a for MS-DOS. This problem was corrected in FORTRAN PowerStation 32.

MORE INFORMATION

To demonstrate the problem, compile the sample code below with the Microsoft FORTRAN PowerStation:

Sample Code #1

$debug
      SUBROUTINE FILTER(FFT1,FFT2,N)
      complex fft1(n),fft2(n)
      fft1(n)=(0,1)*fft2(n)
      return
      end
                

The internal compiler error can be alleviated by using the CMPLX intrinsic function as shown in the example below:

Sample Code #2

$debug
      SUBROUTINE FILTER(FFT1,FFT2,N)
      complex fft1(n),fft2(n)
      fft1(n)=CMPLX(0,1)*fft2(n)
      return
      end
                


Additional query words: 1.00 1.00a

Keywords: kbbug kbfix KB112057