ERC32 Ada supports all of the implementation-dependent features of Ada 95 Reference Manual Section 13 that have a useful meaning in an embedded system.
In particular:
The pragma Pack is supported.
Length clauses are supported, including the following:
Size specification for types.
Small specification for fixed point types, using arbitrary values.
Storage_Size specification for tasks.
Enumeration representation clauses are supported.
Record representation clauses are supported.
Alignment clauses are supported (up to the maximum data object size).
Address clauses are supported for constants and variables.
The predefined pragma Interface is supported.
Unchecked programming is supported.
The predefined package Machine_Code is supported.
The following are not supported:
Interrupt entries for tasks
Address clauses for subprograms, packages or tasks
package Ada.Unchecked_Deallocation
package Unchecked_Deallocation
package System.Storage_Pools
package Ada.Streams
Table 1-4 specifies values from the predefined package System.
The predefined type Address is 32 bits in size, and the unit of storage addressed is an 8-bit byte. The value of the null address is zero. Address is declared in the visible part of package System, so that address expressions may contain numeric literals.