diag, Qdiag

Controls the display of diagnostic information.

IDE Equivalent

Windows: Diagnostics > Disable Specific Diagnostics (/Qdiag-disable:id)

Diagnostics > Level of Source Code Analysis (/Qdiag-enable[:sc1,sc2,sc3])

Linux: Compilation Diagnostics > Disable Specific Diagnostics (-diag-disable id)

Compilation Diagnostics > Level of Source Code Analysis (-diag-enable [sc1,sc2,sc3] or -diag-disable sv)

Mac OS X: Diagnostics > Disable Specific Diagnostics (-diag-disable id)

Diagnostics > Level of Source Code Analysis (-diag-enable [sc1,sc2,sc3])

Architectures

IA-32, Intel® 64, IA-64 architectures

Syntax

Linux and Mac OS X:

-diag-type diag-list

Windows:

/Qdiag-type:diag-list

Arguments

type

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

enable

Enables a diagnostic message or a group of messages.

disable

Disables a diagnostic message or a group of messages.

error

Tells the compiler to change diagnostics to errors.

warning

Tells the compiler to change diagnostics to warnings.

remark

Tells the compiler to change diagnostics to remarks (comments).

diag-list

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

driver

Specifies diagnostic messages issued by the compiler driver.

port-linux

Specifies diagnostic messages for language features that may cause errors when porting to Linux. This diagnostic group is only available on Windows systems.

port-win

Specifies diagnostic messages for GNU extensions that may cause errors when porting to Windows. This diagnostic group is only available on Linux and Mac OS X systems.

thread

Specifies diagnostic messages that help in thread-enabling a program.

vec

Specifies diagnostic messages issued by the vectorizer.

par

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

openmp

Specifies diagnostic messages issued by the OpenMP* parallelizer.

sc[n]

Specifies diagnostic messages issued by the Source Checker. n can be any of the following: 1, 2, 3. For more details on these values, see below. This value is equivalent to deprecated value sv[n].

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

Specifies the CPU dispatch remarks for diagnostic messages. These remarks are enabled by default. This diagnostic group is only available on IA-32 architecture and Intel® 64 architecture.

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.

Default

OFF

The compiler issues certain diagnostic messages by default.

Description

This option controls the display of diagnostic information. Diagnostic messages are output to stderr unless compiler option -diag-file (Linux and Mac OS X) or /Qdiag-file (Windows) is specified.

When diag-list value "warn" is used with the Source Checker (sc) diagnostics, the following behavior occurs:

The following table shows more information on values you can specify for diag-list item sc.

diag-list Item

Description

sc[n]

The value of n for Source Checker messages can be any of the following:

 

1

Produces the diagnostics with severity level set to all critical errors.
 

2

Produces the diagnostics with severity level set to all errors. This is the default if n is not specified.
 

3

Produces the diagnostics with severity level set to all errors and warnings.

To control the diagnostic information reported by the vectorizer, use the -vec-report (Linux and Mac OS X) or /Qvec-report (Windows) option.

To control the diagnostic information reported by the auto-parallelizer, use the -par-report (Linux and Mac OS X) or /Qpar-report (Windows) option.

Alternate Options

enable vec

Linux and Mac OS X: -vec-report
Windows: /Qvec-report

disable vec

Linux and Mac OS X: -vec-report0
Windows: /Qvec-report0

enable par

Linux and Mac OS X: -par-report
Windows: /Qpar-report

disable par

Linux and Mac OS X: -par-report0
Windows: /Qpar-report0

Example

The following example shows how to enable diagnostic IDs 117, 230 and 450:

-diag-enable 117,230,450     ! Linux and Mac OS X systems

/Qdiag-enable:117,230,450    ! Windows systems

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

-diag-enable vec -diag-warning vec      ! Linux and Mac OS X systems

/Qdiag-enable:vec /Qdiag-warning:vec    ! Windows systems

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

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

-diag-disable par     ! Linux and Mac OS X systems

/Qdiag-disable:par    ! Windows systems

The following example shows how to produce Source Checker diagnostic messages for all critical errors:

-diag-enable sc1 ! Linux and Mac OS X systems

/Qdiag-enable:sc1 ! Windows system

The following example shows how to cause Source Checker diagnostics (and default diagnostics) to be sent to a file:

-diag-enable sc -diag-file=stat_ver_msg ! Linux and Mac OS X systems

/Qdiag-enable:sc /Qdiag-file:stat_ver_msg ! Windows systems

Note that you need to enable the Source Checker diagnostics before you can send them to a file. In this case, the diagnostics are sent to file stat_ver_msg.diag. If a file name is not specified, the diagnostics are sent to name-of-the-first-source-file.diag.

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

-diag-error warn,remark    ! Linux and Mac OS X systems

/Qdiag-error:warn,remark   ! Windows systems

See Also