PowerAda Freezing Rules
From OC Systems Wiki!
< PowerAda:Implementation Details
Revision as of 02:39, 24 April 2019 by imported>WikiVisor
The compiler checks the freezing rules (described in RM95 section 13.14). The compiler detects the following as a semantic error:
type T is (A, B, C);
OBJ : T;
for T use (A => 0, B => 3, C => 5);
The error in this code occurs when an object, OBJ, is declared to be of type T before the representation of type T is determined. To correct this code, move the declaration of the object to follow the representation clause for type T, as shown below:
type T is (A, B, C);
for T use (A => 0, B => 3, C => 5);
OBJ : T;