Intel® Fortran Compiler Classic and Intel® Fortran Compiler Developer Guide and Reference

ID 767251
Date 6/24/2024
Public
Document Table of Contents

diag, Qdiag

Controls the display of diagnostic information during compilation.

Syntax

Linux:

-diag-type=diag-list

Windows:

/Qdiag-type:diag-list

Arguments

type

Is an action to perform on diagnostics. Possible values are:

disable

Disables one or more warnings or remarks. If you specify -diag-disable=all (Linux*) or /Qdiag-disable:all (Windows*), all warnings and remarks shown in diag-list are disabled.

error

Tells the compiler to change warnings or remarks to errors.

warning

Tells the compiler to change remarks to warnings.

diag-list

Is a diagnostic group or ID value. Possible values are:

driver

Specifies diagnostic messages issued by the compiler driver.

vec

ifort only: Specifies diagnostic messages issued by the vectorizer.

par

ifort only: Specifies diagnostic messages issued by the auto-parallelizer (parallel optimizer).

openmp

ifort only: Specifies diagnostic messages issued by the OpenMP* parallelizer.

warn

Specifies diagnostic messages that have a "warning" severity level.

error

Specifies diagnostic messages that have an "error" severity level.

remark

Specifies diagnostic messages that are remarks or comments.

cpu-dispatch

iifort only: Specifies the CPU dispatch remarks for diagnostic messages. These remarks are enabled by default.

id[,id,...]

Specifies the ID number of one or more messages. If you specify more than one message number, they must be separated by commas. There can be no intervening white space between each id.

tag[,tag,...]

Specifies the mnemonic name of one or more messages. If you specify more than one mnemonic name, they must be separated by commas. There can be no intervening white space between each tag.

The diagnostic messages generated can be affected by certain options, such as [Q]x, /arch (Windows) or -m (Linux).

Default

OFF

The compiler issues certain diagnostic messages by default.

Description

This option controls the display of diagnostic information during compilation. Diagnostic messages are output to stderr unless the [Q]diag-file option is specified.

NOTE:

The [Q]diag options do not control diagnostics emitted at runtime. For more information about runtime errors and diagnostics, see Handling Runtime Errors.

On ifort, to control the diagnostic information reported by the vectorizer, use options [q or Q]opt-report and [q or Q]opt-report-phase, phase vec.

On ifort, to control the diagnostic information reported by the auto-parallelizer, use options [q or Q]opt-report and [q or Q]opt-report-phase, phase par.

IDE Equivalent

Visual Studio: Diagnostics > Disable Specific Diagnostics

Alternate Options

ifx: None

ifort:

enable vec

Linux: -qopt-report; -qopt-report -qopt-report-phase=vec

Windows: /Qopt-report; /Qopt-report /Qopt-report-phase:vec

disable vec

Linux: -qopt-report=0 -qopt-report-phase=vec

Windows: /Qopt-report:0 /Qopt-report-phase:vec

enable par

Linux: -qopt-report; -qopt-report -qopt-report-phase=par

Windows: /Qopt-report; /Qopt-report /Qopt-report-phase:par

disable par

Linux: -qopt-report=0 -qopt-report-phase=par

Windows: /Qopt-report:0 /Qopt-report-phase:par

Examples

The following example shows how to disable all remarks or comments:

-diag-disable=remark     ! Linux systems
/Qdiag-disable:remark    ! Windows systems

ifort: The following example shows how to change vectorizer diagnostic messages to warnings:

-diag-enable=vec -diag-warning=vec      ! Linux systems
/Qdiag-enable:vec /Qdiag-warning:vec    ! Windows systems

ifort: Note that you need to enable the vectorizer diagnostics before you can change them to warnings.

ifort: The following example shows how to disable all auto-parallelizer diagnostic messages:

-diag-disable=par     ! Linux systems
/Qdiag-disable:par    ! Windows systems

The following example shows how to change all diagnostic warnings and remarks to errors:

-diag-error=warn,remark    ! Linux systems
/Qdiag-error:warn,remark   ! Windows systems

The following example shows how to get a list of only vectorization diagnostics:

-diag-dump -diag-disable=all -diag-enable=vec        ! Linux systems
/Qdiag-dump /Qdiag-disable:all /Qdiag-enable:vec     ! Windows systems

The following example shows a way to disable a debug-related informational remark:

ifx -diag-disable=10440   -g myfile.f90        ! Linux
ifx /Qdiag-disable:10440  -debug myfile.f90    ! Windows

See Also