Microsoft KB Archive/80536

= FIX: Implied DO-Loop with Structure Causes Compiler Error =

Article ID: 80536

Article Last Modified on 10/23/2003

-

APPLIES TO


 * Microsoft FORTRAN Compiler 5.1
 * Microsoft FORTRAN Compiler 5.1

-



This article was previously published under Q80536



SYMPTOMS
The MS FORTRAN 5.10 compiler can generate a Trap C protection violation under OS/2 or incorrect compiler errors under MS-DOS. The code which causes this problem contains an array of structures that is initialized in a DATA statement using an implied DO-loop.



RESOLUTION
Do not use implied DO-loops in DATA statements with arrays of structures. Use assignment statements or read the data from a file.



STATUS
Microsoft has confirmed this to be a problem in FORTRAN version 5.10. This problem was corrected in FORTRAN PowerStation, version 1.0.



MORE INFORMATION
The following code reproduces the problem. Under OS/2 it generates a Trap C with the following error text:

SYS1942: A program attempted to reference storage outside the limits of a stack segment. The program was ended.

Under MS-DOS it generates the following error:

fatal error F1900: maximum memory-allocation size exceeded

Sample code
structure /s/ integer*2 i        real*4 r         character*2 ch      end structure record /s/ a(20) data (a(j).ch,j=1,3) /'h ','he','hj'/ end

Additional query words: 5.10 buglist5.10 fixlist1.00

Keywords: kbfix KB80536

-

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

© Microsoft Corporation. All rights reserved.