Microsoft KB Archive/88012

= PRB: L1103 From DATA Initialization Beyond End of Array =

Article ID: 88012

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 Q88012



SYMPTOMS
Compiling and linking code that contains a DATA statement that uses an implied DO-loop to initialize an array in a COMMON block and that implied DO-loop initializes beyond the end of the array may cause the following linker error:

fatal error L1103: attempt to access data outside segment bounds



CAUSE
The compiler is not issuing an error message when the DATA beyond the end of the array is being allocated. This causes the object module to contain data initialized past the end of the COMMON block and crossing a segment bound.



RESOLUTION
Make sure that all DATA statement initializations of data in COMMON blocks are within the bounds of the data as declared.

This is not a problem in FORTRAN PowerStation.



MORE INFORMATION
The following code can be used to demonstrate the problem.

Sample Code
integer*4 test(1) common /comtest/ test data (test(i),i=1,2)/7,8/ end

Additional query words: 5.10 nofps

Keywords: KB88012

-

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

© Microsoft Corporation. All rights reserved.