-
- Downloads
ada: Reject nonconfirming Size attribute value for aliased object
Only confirming Size must be supported for aliased object of elementary type (see RM 13.1 in the "Implementation Advice"). -- size is 1-byte type Y is range 0 .. 20; type Ay is access all Y; -- Var size is 8-bytes Var : aliased Y := 5 with Size => 64; -- JP.all is a 1-byte reference to an 8-bytes objects. JP : Ay := Var'Access; The above JP.all references the first byte of the 8-byte Var object, which is, for example, not correct on little-endian systems. This change rejects nonconfirming Size attribute on such objects instead of miscompiling it. gcc/ada/ * sem_ch13.adb (Check_One_Attr): produce error when Size attribute used on aliased object of elementary types with nonconfirming value.
Loading
Please register or sign in to comment