Lahey/Fujitsu Fortran

Restrictions

  1. The Debugger will not debug a program that has been compiled by another vendor's compiler, even if their debug option is specified. Other vendor's debuggers will not debug a program that has been compiled by LF95, even if the debug option (-g) is specified.
  2. The Debugger will not debug those parts of a statically linked mixed language program which were not compiled with LF95 or FCC.
  3. An adjustable array that is a dummy argument cannot be debugged if it appears at the beginning of a procedure or a function.

    Example:

    00001 subroutine sub(x,y,i) 00002 real x(5:i) 00003 real y(i+3)
    In this example, adjustable arrays x and y cannot be debugged where the beginning of the procedure is sub(line number 1).
  4. The dummy argument of a main entry cannot be debugged at the sub entry.

    Example:

    subroutine sub(a,b) ... entry ent(b)

    In this example, the dummy argument a, which is in the main entry's argument list but not in the sub entry ent, cannot be debugged. However, the dummy argument b, which is passed to the sub entry ent, can be debugged.

  5. A breakpoint cannot be set for an executable statement in an include file.
  6. An array of an assumed size can be debugged only for the lower boundary.
  7. A label cannot be debugged.
  8. In include files that contain expressions or a #line statement, the C programs cannot be debugged.
  9. When in a Fortran program the continue statement has no instruction, the breakpoint is automatically set at the next statement.

    Example:

    00001 integer i 00002 ... 00003 assign 10 to i 00004 10 continue 00005 i=1

    In the above example, if you set a breakpoint at line 4, the breakpoint is actually set at line 5.

  10. If a Fortran program has a contains statement, the breakpoint cannot be set at its end statement.
  11. If the result of a function is one of the following, the step and next commands have no effect:
    • - array
    • - derived type
    • - pointer
    • - character whose length is not a constant
  12. Allocatable or pointer arrays that are globally declared or globally used cannot be debugged within the module they are declared or used in. Global allocatable or pointer arrays may be debugged if they are locally used.
  13. If a pointer variable is a common element, the pointer variable cannot be debugged.

    Example:

    common /com/p pointer (p,j)

    The above variable j cannot be debugged.

  14. A dummy argument declared with the entry statement in a procedure cannot be debugged except for the first element of the explicit-shape array and the top of the assumed type parameter string (including the pointer variable).

    Example:

    subroutine s1(a,i,c) real a(i) character*(*) c ... entry ent(b,j,d)

    The above cannot be debugged except a(1) and c(1:1).

  15. When debugging a program using the VSW function, please note that Execution should be used to restart the execution after returning from the call-back procedure. If Step or Line is used to restart the execution, breakpoints may not be ignored.