Migration and Compatibility GuidePreface Configuration and Support Information Support level definitions Compiler configuration information Migrating from Arm Compiler 5 to Arm Compiler for Migrating from armcc to armclang Compiler Source Code Compatibility Migrating from armasm to the armclang Integrated A Changes Between Different Versions of Arm Compiler Code Examples Licenses Arm Compiler for Embedded Migration and Compatibil
Support level definitions
1.1 Support level definitions
This describes the levels of support for various Arm® Compiler for Embedded 6 features.
Arm Compiler for Embedded 6 is built on Clang and LLVM technology. Therefore, it has more functionality than the set of product features described in the documentation. The following definitions clarify the levels of support and guarantees on functionality that are expected from these features.
Arm welcomes feedback regarding the use of all Arm Compiler for Embedded 6 features, and intends to support users to a level that is appropriate for that feature. You can contact support at https://developer.arm.com/support.
Identification in the documentation
All features that are documented in the Arm Compiler for Embedded 6 documentation are product features, except where explicitly stated. The limitations of non-product features are explicitly stated.
Product features are suitable for use in a production environment. The functionality is well-tested, and is expected to be stable across feature and update releases.
In addition to fully supported product features, some product features are only alpha or beta quality.
Arm Compiler for Embedded 6 is built on LLVM technology and preserves the functionality of that technology where possible. This means that there are additional features available in Arm Compiler for Embedded that are not listed in the documentation. These additional features are known as community features. For information on these community features, see the Clang Compiler User's Manual.
Where community features are referenced in the documentation, they are identified with [COMMUNITY].
Some community features might become product features in the future, but Arm provides no roadmap for this. Arm is interested in understanding your use of these features, and welcomes feedback on them. Arm supports customers using these features on a best-effort basis, unless the features are unsupported. Arm accepts defect reports on these features, but does not guarantee that these issues will be fixed in future releases.
Guidance on use of community features
There are several factors to consider when assessing the likelihood of a community feature being functional:
A deprecated feature is one that Arm plans to remove from a future release of Arm Compiler for Embedded. Arm does not make any guarantee regarding the testing or maintenance of deprecated features. Therefore, Arm does not recommend using a feature after it is deprecated.
For information on replacing deprecated features with supported features, refer to the Arm Compiler for Embedded documentation and Release Notes.
With both the product and community feature categories, specific features and use-cases are known not to function correctly, or are not intended for use with Arm Compiler for Embedded 6.
Limitations of product features are stated in the documentation. Arm cannot provide an exhaustive list of unsupported features or use-cases for community features. The known limitations on community features are listed in Community features.
List of known unsupported features
The following is an incomplete list of unsupported features, and might change over time:
Alternatives to C complex numbers not being supported
If you are building for Armv8-M architecture-based processors, consider using the free and Open Source CMSIS-DSP library that includes a data type and library functions for complex number support in C. For more information about CMSIS-DSP and complex number support see the following sections of the CMSIS documentation:
If you are not building for Armv8-M architecture-based processors, consider modifying the affected part of your project to use the C++ standard template library type
of your data.