BUG: Endless Loop in Code Containing Graphics & Compiled -Ox (104776)
The information in this article applies to:
- Microsoft FORTRAN PowerStation for MS-DOS 1.0
- Microsoft FORTRAN PowerStation for MS-DOS 1.0a
This article was previously published under Q104776 SYMPTOMS
A program may execute in an infinite loop if it was compiled with full
optimization (-Ox) and contains a do loop calling some of the graphics
routines [such as POLYGON_W()].
CAUSE
Some of the graphics functions (such as POLYGON_W) prevent optimized
code from recognizing the end condition for the loop.
STATUS
Microsoft has confirmed this to be a problem in FORTRAN PowerStation
for MS-DOS, version 1.0 and 1.0a.
This problems does not apply to FORTRAN PowerStation 32.
RESOLUTION
Compile the program with no optimization (this is the default).
Sample Code
c Compile options needed: -Ox
c The following program will output in an infinite loop:
include 'fgraph.fi'
include 'fgraph.fd'
INTEGER*2 status, npts
RECORD / wxycoord / wxyarr(3)
status = setvideomode(18)
do it=1,2
write (*,'(i4\)') it
wxyarr(1).wx = 43.d0
wxyarr(1).wy = 85.d0
wxyarr(2).wx = 50.d0
wxyarr(2).wy = 71.d0
wxyarr(3).wx = 45.d0
wxyarr(3).wy = 85.d0
npts = 3
status = POLYGON_W($GBORDER, wxyarr, npts)
enddo
END
Modification Type: | Major | Last Reviewed: | 10/2/2003 |
---|
Keywords: | KB104776 |
---|
|