Microsoft KB Archive/108346

From BetaArchive Wiki

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


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.


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


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.


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.


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

Additional query words: 1.00 lock halt

Keywords: kbbug KB108346
Technology: kbAudDeveloper kbFORTRANPower32100NT kbFortranSearch kbZNotKeyword2