Keil Logo


B.7 Declarations

Describes implementation-defined aspects of the Arm® C++ compiler and C++ library relating to declarations, as required by the ISO C++ Standard.

Meaning of attribute declaration (7).

Arm Compiler 6 is based on LLVM and Clang technology. Clang defines several attributes as specified by the Clang documentation at

From these attributes, Arm Compiler 6 supports attributes that are scoped with gnu:: (for compatibility with GCC) and clang::.

Underlying type for enumeration (7.2).
The underlying type for enumerations without a fixed underlying type is int or unsigned int, depending on the values of the enumerators. The –fshort-enums command-line option uses the smallest unsigned integer possible, or the smallest signed integer possible if any enumerator is negative, starting with char.
Meaning of an asm declaration (7.4).
An asm declaration enables the direct use of T32, A32, or A64 instructions.
Semantics of linkage specifiers (7.5).
Only the string-literals "C" and "C++" can be used in a linkage specifier.
Non-ConfidentialPDF file icon PDF version101754_0616_01_en
Copyright © 2019–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.