Microsoft KB Archive/111283

From BetaArchive Wiki

Article ID: 111283

Article Last Modified on 10/17/2003



APPLIES TO

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



This article was previously published under Q111283

SYMPTOMS

Compiling a FORTRAN source file with -Zi that contains a 2 gigabyte (GB) array (or larger) will produce the following error under Windows NT:

fatal error F1001: INTERNAL COMPILER ERROR
(compiler file '@(#)p2symtab.c:1.89', line 1601)

Under MS-DOS, the following error may be generated:

fatal error F1001: INTERNAL COMPILER ERROR
(compiler file '@(#)p2symtab.c:1.89', line 1390)

CAUSE

Although a Windows NT application has a 4 GB address space, 2 of these 4 GB are reserved for system memory. Because a 2 GB array leaves no room for application code, this particular condition was not tested.

RESOLUTION

Reduce the size of the array.

NOTE: Linking a Fortran object module that contains an array 2 gigabytes (or greater) will correctly cause the following warning message under Fortran PowerStation 4.0:

warning LNK4084: total image size -2147422208 exceeds max

(268435456); image may not run

STATUS

Microsoft has confirmed this to be a problem in FORTRAN PowerStation 32 for Windows NT version 1.0 and MS-DOS version 1.0 and 1.0a. This problem was corrected in FORTRAN PowerStation 32, version 4.0.

MORE INFORMATION

The following sample illustrates the problem:

Sample Code

c Compile options needed: -Zi
c
       integer*2 n(1073741824)
       n(1) = 1
       end
                


Additional query words: 1.00

Keywords: kberrmsg kbbug kbfix kbcompiler KB111283