FIX: F1001 Error Compiling 2 Gigabyte Array with -Zi

Last reviewed: September 18, 1997
Article ID: Q111283
1.00 1.00a | 1.00
MS-DOS     | WINDOWS
kbtool kbfixlist kberrmsg

The information in this article applies to:

  • Microsoft FORTRAN PowerStation for MS-DOS, version 1.0 and 1.0a
  • Microsoft FORTRAN PowerStation 32 for Windows NT, version 1.0

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 reference words: 1.00
KBCategory: kbtool kbbuglist kbfixlist kberrmsg
KBSubcategory: FL32Iss
Keywords : FL32Iss kbbuglist kberrmsg kbfixlist kbtool
Version : 1.00 1.00a | 1.00
Platform : MS-DOS WINDOWS
Solution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 18, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.