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

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