Silverfrost Logo About Us | Contact Us
 

Argument consistency checking

There are a number of run-time checks associated with the calling of routines. A subroutine or function compiled with a checking option will produce a run-time error if one of the following occurs:

  1. Arrays used as actual arguments are too small for the declared size.

  2. An actual argument which is a constant or a local variable that is in use as a DO-variable is altered by the called routine. For example:

     CALL FRED(1.0)
     . . .
     DO I=1,100
       CALL FRED(I)
       . . .
     ENDDO
     . . .
     END
     SUBROUTINE FRED(N)
     . . .
     N = G
     . . .
     END

Either of the calls to FRED in the above example would cause a run-time error.

  1. A simple character argument is not large enough for its declared size.

In the absence of checking, these conditions result in program corruption with unpredictable results.

 

 

Copyright © 1999-2017 Silverfrost Limited