Microsoft KB Archive/108346

= FIX: Substring Out of Range Hangs with -4Yb -Ox -G5 =

PSS ID Number: 108346

Article Last Modified on 3/24/2000

-

The information in this article applies to:


 * Microsoft Fortran Powerstation 32 for Windows NT 1.0

-



This article was previously published under Q108346



SYMPTOMS
An attempt to execute a program that is compiled using the -4Yb, -Ox, and -G5 options and that contains a character substring expression out of range may cause the application to hang.



CAUSE
Compiler options -4Yb and -G5, along with the optimization (option -Ox) cause the compiler to generate incorrect code.



RESOLUTION
This problem does not occur with a different combination of options. Avoid the -Ox optimization option, the -4Yb extended-error-handling option, or use the -G4 processor option instead of -G5.



STATUS
Microsoft has confirmed this to be a problem in FORTRAN PowerStation 32 for Windows NT, version 1.0. This problem was fixed in FORTRAN PowerStation, version 4.0.



MORE INFORMATION
The example program below demonstrates the problem:

Sample Code
C Compile options needed: -4Yb, -Ox and -G5

character m*10 /'1234567890'/ l = 3 write(*,*) l ! putting this inside the loop avoids hang do while (m(l:l) .ne. 'Q') l = l + 1 end do     write(*,*) 'L = ', l      write(*,*) 'M = ', m      end

Additional query words: 1.00 lock halt

Keywords: kbbug KB108346

Technology: kbAudDeveloper kbFORTRANPower32100NT kbFortranSearch kbZNotKeyword2

-

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

© 2004 Microsoft Corporation. All rights reserved.