After upgrading to version 7.10.1 (or later) of IAR Embedded Workbench for ARM or to version 2.10.1 (or later) of IAR Embedded Workbench for STM8 a message similar to
Warning : Label 'xxxxx' is defined pubweak in a section implicitly declared root
might be issued during assembly, even though there were no such warnings in earlier version(s).
The IAR Assembler is issuing the warning for a deprecated assembler construction where an implicit :ROOT flag is inconsistent with how PUBWEAK is used.
As an example, consider these lines:
In this, and most other cases, you should add a :NOROOT flag to remove the inconsistency and avoid the warning.
The syntax for the assembler directive SECTION is:
SECTION section :type [:flag] [(align)]
More information can be found in the IAR Assembler Reference Guide, Section control directives.
In most cases, adding :NOROOT to the SECTION control directive is a good way to remove the deprecated construct and avoid the warning message:
All product names are trademarks or registered trademarks of their respective owners.