3.9. Section 9: Tasks and Synchronization

Tasks, protected types and task-related statements are permitted subject to any user restrictions.

Except for the restrictions on the number of tasks in an entry queue and the nested rendezvous (which are checked at run time), the compiler rejects any program that does not conform to the default or given Profile.

3.9.1. type Duration

The predefined type Duration is 32-bit fixed-point type. The value of the least significant bit is one microsecond. Table 3-3 gives the attributes of this type.

Table 3-3. Attributes of the Predefined Type Duration

AttributeValueComment
Delta1.0E-6One microsecond
Small1.0E-6One microsecond
First-2147.483648Approx. -35 minutes
Last2147.483647Approx. 35 minutes

The types Time and Time_Span from predefined package Ada.Real_Time have the same representation as type Duration. However the type Time is declared as a modular type and comparisons of two times correctly account for the 71-minute cycle.

3.9.2. Shared Variables

M1750 Ada supports the pragma Volatile, which guarantees that a variable is fetched from memory each time it is referenced, and is stored in memory on each assignment.

M1750 Ada also supports the pragmas Atomic, Atomic_Components, and Volatile_Components, as specified in Section C.6 of the Ada 95 Reference Manual.