BUG: Divide by Zero Causes Application Error

ID: Q147765


The information in this article applies to:
  • Microsoft Fortran Powerstation 32 for Windows NT, version 1.0
  • Microsoft Fortran PowerStation for Windows 95 and Windows NT, version 4.0


SYMPTOMS

Attempting to divide an integer number by zero at run time causes one of the following application error messages to be generated instead of the appropriate run-time error:

Under Windows NT version 3.51:

Application Error - The exception integer division by zero occurred in the application
Under Windows 95:
This program has performed an illegal operation and will be shut down.
If the problem persists, contact the program vendor.

Details:

<program> caused a divide error in module <filename> at 0137:0040109c
The following appropriate run-time error should be generated instead of the above application errors:
R6003 integer divide by 0


RESOLUTION

Make sure arithmetic expressions do not include a direct or indirect divide by zero calculation.


STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.


MORE INFORMATION

Sample Code to Demonstrate Problem


C Compile options needed: none

        INTEGER ANSWER, NUMER, DENOM

   WRITE (*,*) 'This program should fail with a run-time'
   WRITE (*,*) 'error. No output other than these three'
   WRITE (*,*) 'lines should appear'

   CALL X (NUMER, DENOM)
   ANSWER = NUMER/DENOM
   WRITE (*,*) '**Error! integer division allowed**'
   WRITE (*,*) 'ANSWER=<',ANSWER,'>'
   END

   SUBROUTINE X(I1,I2)
   I1 = 123
   I2 = 0
   END 

Additional query words: 1.00 4.00

Keywords : kbFortranPS kbLangFortran
Version : :1.0,4.0
Platform : NT WINDOWS
Issue type :


Last Reviewed: November 1, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.