| -- { dg-do compile } | |
| procedure Pack5 is | |
| type Kind is (v1, v2, v3); | |
| type Error (k : Kind := Kind'First) is record | |
| case k is | |
| when v1 => | |
| null; | |
| when v2 => | |
| null; | |
| when Others => | |
| B : Boolean; | |
| end case; | |
| end record; | |
| pragma Pack (Error); | |
| for Error'Size use 16; | |
| No_Error: constant Error := (k => v2); | |
| type R (B : Boolean) is record | |
| E : Error; | |
| end record; | |
| pragma Pack(R); | |
| type Ptr is access R; | |
| C : Ptr := new R (True); | |
| begin | |
| C.E := No_Error; | |
| end; |