Specifies sequences of characters, known as trigger constants, that identify comment lines as compiler comment directives.
A compiler comment directive is a line that is not a Fortran statement but is recognized and acted on by the compiler.
.-nodirective--+-------------------+-. | '-=--directive_list-' | >>- -q--+-directive--+-------------------+---+----------------->< '-=--directive_list-'
@PROCESS:
@PROCESS DIRECTIVE[(directive_list)] | NODIRECTIVE[(directive_list)]
The compiler recognizes the default trigger constant IBM*.
Specifying -qsmp implies -qdirective=smp\$:\$omp:ibmp, and, by default, the trigger constants SMP$, $OMP, and IBMP are also turned on. If you specify -qsmp=omp, the compiler ignores all trigger constants that you have specified up to that point and recognizes only the $OMP trigger constant. Specifying -qthreaded implies -qdirective=ibmt, and, by default, the trigger constant IBMT is also turned on.
The -qnodirective option with no directive_list turns off all previously specified directive identifiers; with a directive_list, it turns off only the selected identifiers.
-qdirective with no directive_list turns on the default trigger constant IBM* if it has been turned off by a previous -qnodirective.
xlf95 -O3 -qhot -qcache=type=D:level=1 -qdirective='dbg*' -qnodirective='IBM*' directives.f
! This program is written in Fortran free source form.
PROGRAM DIRECTV
INTEGER A, B, C, D, E, F
A = 1 ! Begin in free source form.
B = 2
!OLDSTYLE SOURCEFORM(FIXED)
! Switch to fixed source form for this include file.
INCLUDE 'set_c_and_d.inc'
!IBM* SOURCEFORM(FREE)
! Switch back to free source form.
E = 5
F = 6
END
For this example, compile with the option -qdirective=oldstyle to ensure that the compiler recognizes the SOURCEFORM directive before the INCLUDE line. After processing the include-file line, the program reverts back to free source form, after the SOURCEFORM(FREE) statement.