8.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 https://clang.llvm.org/docs/AttributeReference.html.

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 version100067_0609_00_en
Copyright © 2014–2017 Arm Limited (or its affiliates). All rights reserved.