Skip to main content

IAR Embedded Workbench for RX 5.20

Severity levels

In this section:

The diagnostics are divided into different levels of severity:

Remark

A diagnostic message that is produced when the assembler finds a source code construct that can possibly lead to erroneous behavior in the generated code. Remarks are, by default, not issued but can be enabled, see ‑‑remarks.

Warning

A diagnostic message that is produced when the assembler finds a programming error or omission which is of concern but not so severe as to prevent the completion of compilation. Warnings can be disabled with the command line option ‑‑no_warnings, see ‑‑no_warnings.

Error

A diagnostic message that is produced when the assembler finds a construct which clearly violates the language rules, such that code cannot be produced. An error produces a non-zero exit code.

Fatal error

A diagnostic message that is produced when the assembler finds a condition that not only prevents code generation, but which makes further processing of the source code pointless. After the diagnostic is issued, assembly ends. A fatal error produces a non-zero exit code.

Setting the severity level

The diagnostic messages can be suppressed or the severity level can be changed for all types of diagnostics except for fatal errors and some of the regular errors.

For information about the assembler options that are available for setting severity levels, see Summary of assembler options.

For information about the pragma directives that are available for setting severity levels, see Pragma directives.

Internal error

An internal error is a diagnostic message that signals that there was a serious and unexpected failure due to a fault in the assembler. It is produced using this form:

Internal error: message

where message is an explanatory message. If internal errors occur, they should be reported to your software distributor or IAR Technical Support. Please include information enough to reproduce the problem. This would typically include:

  • The product name

  • The version number of the assembler, which can be seen in the header of the list files generated by the assembler

  • Your license number

  • The exact internal error message text

  • The source file of the program that generated the internal error

  • A list of the options that were used when the internal error occurred.