Microsoft KB Archive/108346

From BetaArchive Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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