8.4 Basic concepts
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
C and C++ Libraries and Floating-Point Support User Guide
describes the start-up and termination of programs.
- Definition of
main in a freestanding environment (3.6.1).
main function must be defined.
- Linkage of the
main function (3.6.1).
main function has external linkage.
- Parameters of
- The only permitted parameters for definitions of
main of 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 (22.214.171.124).
- 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
char type 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
float values are
represented by IEEE single-precision values.
long double values 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
0x10000000 are supported.