NOFUNCTRACE
Purpose
The NOFUNCTRACE directive disables tracing for the procedure or module whose declaration immediately follows the directive.
Rules
The NOFUNCTRACE directive must appear directly before the declaration of a procedure or a module. If the directive appears before a procedure declaration, it applies to the procedure and all its internal procedures. If the directive appears before a module declaration, it applies to all procedures in the module. The NOFUNCTRACE directive can appear immediately before internal procedure declarations.
Examples
The following example illustrates the use of the NOFUNCTRACE directive when you compile with -qfunctrace:
! None of the procedures in module m will be traced
!IBM* NOFUNCTRACE
MODULE M
CONTAINS
SUBROUTINE modsub1
CALL internal1
CONTAINS
SUBROUTINE internal1
END SUBROUTINE internal1
END SUBROUTINE modsub1
END MODULE M
MODULE n
CONTAINS
! modsub2 and its internal procedure internal3 will be traced.
! internal procedure internal2 will not be traced.
SUBROUTINE modsub2
CALL internal2
CALL internal3
CONTAINS
!IBM* NOFUNCTRACE
SUBROUTINE internal2
END SUBROUTINE internal2
SUBROUTINE internal3
END SUBROUTINE internal3
END SUBROUTINE modsub2
! modsub3 and its internal procedure internal4 will not be traced.
!IBM* NOFUNCTRACE
SUBROUTINE modsub3
CALL internal4
CONTAINS
SUBROUTINE internal4
END SUBROUTINE internal4
END SUBROUTINE modsub3
END MODULE n
! The program and its internal procedure internal5 will not be traced.
!IBM* NOFUNCTRACE
PROGRAM nofunctrace
USE m
USE n
CALL modsub1
CALL modsub2
CALL modsub3
CALL internal5
CONTAINS
SUBROUTINE internal5
END SUBROUTINE internal5
END PROGRAM nofunctrace
Related information
See the XL Fortran Compiler Reference for details about the -qfunctrace compiler option.