Prism 6.0 User's Guide

Partially Supported Fortran 90 Features

With significant limitations, you can use Prism to debug Fortran 90 programs containing the features described in this section.

User-Defined Operators

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.

Internal Procedures

The following commands can take internal procedure names as arguments:

If there are several procedures with the same name, a list pops up from which to select the desired procedure.

Supported Intrinsics

Prism supports the same intrinsics in Fortran 90 that it supports in Fortran 77. See " Using Fortran Intrinsic Functions in Expressions".