| FIX: Substring Out of Range Hangs with -4Yb -Ox -G5Last reviewed: September 16, 1997Article ID: Q108346 | 
| 1.00
WINDOWS NT
kbtool kbfixlist The information in this article applies to: 
 
 SYMPTOMSAn 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. 
 CAUSECompiler options -4Yb and -G5, along with the optimization (option -Ox) cause the compiler to generate incorrect code. 
 RESOLUTIONThis 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. 
 STATUSMicrosoft 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 INFORMATIONThe example program below demonstrates the problem: 
 Sample CodeC 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 reference words: 1.00 lock halt 
 © 1998 Microsoft Corporation. All rights reserved. Terms of Use. |