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.
Note the following:
xlf95 -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.