Keil Logo

Changes for the Arm Compiler User Guide

B.1 Changes for the Arm® Compiler User Guide

Changes that have been made to the Arm® Compiler User Guide are listed with the latest version first.

Table B-1 Changes between 6.16 and 6.15

Change Topics affected

Changed std::vector<T>::const_reference to std::vector<bool>::const_reference.

Added a row in the exceptions table for all standards and moved the following list items from C++98 and C++03 rows to the new row:

  • std::vector<bool>::const_reference
  • std::bitset<N>
Added information about linking objects compiled with different C or C++ standards.
Added a topic that describes the interaction of OVERLAY and PROTECTED attributes with armlink merge options.
Added information about the effects of linking with a scatter file having ZI data in an execution region.
Added a note to include a .balign directive when defining your own sections with the armclang integrated assembler.
Minor improvements to the Getting Started section about compile and link steps, and clarification of what the clobbered_register_list means when building programs with inline assembly code.
Update description of -marm command line option to clarify that it gives an error, not a warning, when used with an M-profile architecture.
Added a note for the workaround when entry functions or Non-secure function calls have more than 4 arguments.

Table B-2 Changes between 6.15 and 6.14

Changes Topics affected
Added chapters about the Scalable Vector Extension (SVE) compiler.
Added note about Arm Compiler and undefined behavior.
Added a note about not specifying both the architecture (-march) and the processor (-mcpu).
Added details about the SVE and SVE2 intrinsics support.
Reworded the note about dynamic linking not being supported for Cortex®‑M processors.
Added note clarifying that Arm Compilerr 6 is not based on the same revision as any specific release of the open source version of LLVM and Clang, and may containArm-specific changes which are not included in open source versions.
Updated text and examples to clarify correct naming of sections when using #pragma clang section.
Added note that all eXecute In Place (XIP) code must be stored in root regions.
Improved explanation of when to use the volatile keyword to prevent unwanted removal of inline assembler code when building optimized output.
Added details of the new -Omin compiler option which minimizes code size.
Removed outdated note about using __ARM_use_no_argv with -O0 optimization level in Arm Compiler 6. The -O0 option now supports argv/argc optimization.
Added a note for OVERALIGN.
Progressive terminology commitment added to Proprietary notices section (all documents).
  • Proprietary notices
Non-ConfidentialPDF file icon PDF version100748_0616_01_en
Copyright © 2016–2021 Arm Limited or its affiliates. All rights reserved. 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.