FIX: F1901 or Hang Compiling, NAMELIST Listed in Internal READ

ID: Q69071


The information in this article applies to:
  • Microsoft FORTRAN for MS-DOS, version 5.0
  • Microsoft FORTRAN for OS/2, version 5.0


SYMPTOMS

An attempt to compile an application in the MS-DOS operating system fails and the compiler generates the following message:

F1901: Program too large for memory
An attempt to compile the application in the OS/2 operating system fails and a protection violation occurs.

An attempt to compile the application with the High-Capacity Compiler, F1L.EXE, in the MS-DOS operating system fails and the computer hangs. An attempt to compile the application with the patched versions of F1.EXE and F1L.EXE fails with the same results as the unpatched version of each file.


CAUSE

The application contains an internal READ from a character variable into a NAMELIST.


RESOLUTION

To work around this problem, modify the source code to use an external READ to place character data into a NAMELIST. If necessary, store date from the application into a scratch file and read the data from the file into the NAMELIST.


STATUS

Microsoft has confirmed this to be a problem in FORTRAN version 5.0 for MS-DOS and OS/2. This problem was corrected in FORTRAN version 5.1 for MS-DOS and OS/2.


MORE INFORMATION

The following code example demonstrates this problem.

Sample Code #1


C Compile options needed: None

      CHARACTER*21 TEST /' &IN X=1 Y=5 Z=10 /'/ 
       NAMELIST /IN/ X, Y, Z
       READ(TEST, IN)
      END 
The following code example demonstrates one method to work around this problem.

Sample Code #2


C Compile options needed: None

       OPEN(8, FILE = 'TEST.DAT')
       NAMELIST /IN/ X, Y, Z
       READ(8, IN)
       WRITE(*, IN)
       CLOSE(8)
       END 

Date File TEST.DAT


&in
x=1
y=5
z=10
/  
The following code example demonstrates another method to work around this problem.

Sample Code #3


C Compile options needed: None

       CHARACTER*21 TEST /' &IN X=1 Y=5 Z=10 /'/ 
       NAMELIST /IN/ X, Y, Z
       OPEN(8)
       WRITE(8, *) TEST
       REWIND(8)
       READ(8, IN)
       WRITE(*, IN)
       CLOSE(8)
       END 

Additional query words: 5.00 buglist5.00 fixlist5.10

Keywords :
Version : :5.0
Platform :
Issue type :


Last Reviewed: November 1, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.