FIX: Incorrect F2128 Huge Segment Boundary ErrorLast reviewed: September 16, 1997Article ID: Q80101 |
5.00 5.10 | 5.00 5.10
MS-DOS | OS/2kbtool kbbuglist kbfixlist The information in this article applies to:
SYMPTOMSAn attempt to compile an application in the OS/2 operating system fails and the compiler generates a protection violation. An attempt to compile the application in the MS-DOS operating system fails and the second pass of the compiler generates the following message:
error F2128: ~k.~~~ : huge array cannot be aligned to segment boundaryThe "~" and "~~~" characters represent symbol characters high in the ASCII table.
CAUSEThe application contains a complicated combination of DATA statements, EQUIVALENCE statements, I/O statements, or array declarations.
RESOLUTIONMany minor code changes eliminate this error. In the code example, reducing the size of the I array below 131,072 bytes or removing the DATA statement, EQUIVALENCE statement, or an executable statement eliminates the error.
STATUSMicrosoft has confirmed this to be a problem in FORTRAN versions 5.0 and 5.1 for MS-DOS and OS/2. This problem was corrected in FORTRAN PowerStation, version 1.0.
MORE INFORMATION
Sample CodeC Compile options needed: None
CHARACTER*12 NAME1 INTEGER I(32769) INTEGER J EQUIVALENCE (I, J) DATA NAME1 /'OFFSET.DAT'/1 FORMAT() WRITE (*, 1) WRITE (*, 1) OPEN (1, FILE = NAME1, ERR = 9999) READ (1, *, END = 9999, ERR = 9999) OPEN (1, FILE = NAME1, ERR = 9999) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1) WRITE (*, 1)9999 END
|
Additional reference words: 5.00 5.10 buglist5.00 buglist5.10 fixlist1.00
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |