Severity levels
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.