Skip to main content

IAR Embedded Workbench for Arm 9.70.x

Assembler diagnostics

In this section:

The following pages describe the format of diagnostic messages, and explains how diagnostic messages are divided into different levels of severity.

Message format

All diagnostic messages are displayed on the screen, and printed in the optional list file.

All messages are issued as complete, self-explanatory messages. The message consists of the incorrect source line, with a pointer to where the problem was detected, followed by the source line number and the diagnostic message. If include files are used, error messages are preceded by the source line number and the name of the current file:

        ADS    B,C
‑‑‑‑‑‑‑‑‑‑-^
"subfile.h",4  Error[40]: bad instruction

Severity levels

The diagnostic messages produced by the IAR Assembler for Arm reflect problems or errors that are found in the source code or occur at assembly time.

Options for diagnostics

There are two assembler options for diagnostics. You can:

  • Disable or enable all warnings, ranges of warnings, or individual warnings, see -w

  • Set the number of maximum errors before the assembly stops, see -E.

Assembler warning messages

Assembler warning messages are produced when the assembler finds a construct which is probably the result of a programming error or omission.

Command line error messages

Command line errors occur when the assembler is invoked with incorrect parameters. The most common situation is when a file cannot be opened, or with duplicate, misspelled, or missing command line options.

Assembler error messages

Assembler error messages are produced when the assembler finds a construct which violates the language rules.

Assembler fatal error messages

Assembler fatal error messages are produced when the assembler finds a user error so severe that further processing is not considered meaningful. After the diagnostic message is issued, the assembly is immediately ended. These error messages are identified as Fatal in the error messages list.

Assembler internal error messages

An internal error is a diagnostic message that signals that there was a serious and unexpected failure due to a fault in the assembler.

During assembly, several internal consistency checks are performed and if any of these checks fail, the assembler terminates after giving a short description of the problem. Such errors should normally not occur. However, if you should encounter an error of this type, it should be reported to your software distributor or to 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.