Describes basic concepts relating to implementation-defined aspects of the Arm® C++ compiler and C++ library, as required by the ISO C++ Standard.
- Start-up and termination in a freestanding environment (3.6.1).
- The Arm® Compiler Arm C and C++ Libraries and Floating-Point Support User Guide describes the start-up and termination of programs.
- Definition of
mainin a freestanding environment (3.6.1).
mainfunction must be defined.
- Linkage of the
mainfunction has external linkage.
- Parameters of
- The only permitted parameters for definitions of
mainof the form
- Dynamic initialization of static objects (3.6.2).
- Static objects are initialized before the first statement of
- Dynamic initialization of thread-local objects (3.6.2).
- Thread-local objects are initialized at the first odr-use.
- Pointer safety (188.8.131.52).
- This implementation has relaxed pointer safety.
- Extended signed integer types (3.9.1).
- No extended integer types exist in the implementation.
- Representation and signedness of the
chartype is unsigned and has the same values as
- Representation of the values of floating-point types (3.9.1).
- The values of floating-point types are represented using the IEEE format as
floatvalues are represented by IEEE single-precision values.
long doublevalues are represented by IEEE double-precision values.
- Representation of values of pointer type (3.9.2).
- Values of pointer type are represented as 32-bit addresses in AArch32 state and 64-bit addresses in AArch64 state.
- Support of extended alignments (3.11).
- Alignments, including extended alignments, that are a power of two and are less than or equal to