Microsoft KB Archive/69071

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

Article ID: 69071

Article Last Modified on 10/23/2003

-

APPLIES TO


 * Microsoft FORTRAN Compiler 5.0
 * Microsoft FORTRAN Compiler 5.0

-



This article was previously published under Q69071



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: kbfix KB69071

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.