With significant limitations, you can use Prism to debug Fortran 90 programs containing the features described in this section.
Prism views user-defined operators as functions. If a new operator . my_op. appears in a Fortran 90 program, then Prism cannot deal with the operator . my_op. as an operator, but it can deal with the function my_op, viewed as a generic function. You cannot use operators named * (or +, or any other keyword operator.), but you can stop in functions that are used to define such operators. For example:
interface operator(.add_op.) integer function int_add(i, j) integer*4, intent(in) :: i, j end function int_add real function real_add(x, y) real, intent(in) :: x, y end function real_add end interface
In this example, Prism does not support debugging the user defined function .add_op.
(prism) print 1 .add_op. 2
However, Prism supports the function add_op:
(prism) print add_op(1,2)
A list pops up, allowing you to choose which add_op to apply.
The following commands can take internal procedure names as arguments:
stop in
whatis
If there are several procedures with the same name, a list pops up from which to select the desired procedure.
Prism supports the same intrinsics in Fortran 90 that it supports in Fortran 77. See " Using Fortran Intrinsic Functions in Expressions".