Knowledge Base

FIX: F1001 in regasg.c with Adjustable Sized COMPLEX and /4Yb

Article ID: 112057

Article Last Modified on 10/2/2003


APPLIES TO


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