Microsoft KB Archive/87474

= FIX: Entire Structure in DATA Fails to Cause Error =

Article ID: 87474

Article Last Modified on 12/1/2003

-

APPLIES TO


 * Microsoft FORTRAN Compiler 5.0
 * Microsoft FORTRAN Compiler 5.1
 * Microsoft FORTRAN Compiler 5.0
 * Microsoft FORTRAN Compiler 5.1
 * Microsoft FORTRAN PowerStation 1.0 Standard Edition
 * Microsoft Fortran PowerStation 1.0a for MS-DOS
 * Microsoft FORTRAN PowerStation 32

-



This article was previously published under Q87474



SYMPTOMS
Applications compiled with Microsoft FORTRAN version 5.0 or 5.1 that initialize entire structures in DATA statements may produce incorrect results.



CAUSE
Initializing entire structures in a DATA statement is not permitted (Microsoft FORTRAN version 5.1 &quot;Reference&quot; manual, page 140), but no error or warning is emitted by the compiler. Subsequent use of that structure variable may lead to incorrect results.



RESOLUTION
To initialize structure variables through DATA statements, specify every element of the structure separately.



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



MORE INFORMATION
The following code fails to produce any error message and the resulting output is incorrect:

Sample Code #1
structure /test/ integer i         real    x       end structure record /test/ s      data s /7/ print*, s.i, s.x      end The following code demonstrates the correct use of a structure variable in a DATA statement:

Sample Code #2
structure /test/ integer i         real    x       end structure record /test/ s      data s.i /7/, s.x /7.0/ print*, s.i, s.x      end

Additional query words: 1.00 5.00 5.10

Keywords: kbfix kblangfortran KB87474

-

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

© Microsoft Corporation. All rights reserved.