| -- Copyright 2018-2020 Free Software Foundation, Inc. |
| -- |
| -- This program is free software; you can redistribute it and/or modify |
| -- it under the terms of the GNU General Public License as published by |
| -- the Free Software Foundation; either version 3 of the License, or |
| -- (at your option) any later version. |
| -- |
| -- This program is distributed in the hope that it will be useful, |
| -- but WITHOUT ANY WARRANTY; without even the implied warranty of |
| -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| -- GNU General Public License for more details. |
| -- |
| -- You should have received a copy of the GNU General Public License |
| -- along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| package Aggregates is |
| subtype Int is Integer range 0 .. 7; |
| |
| type Packed_Rec is record |
| Packed_Array_Assign_W : Integer; |
| Packed_Array_Assign_X, Packed_Array_Assign_Y : Int; |
| end record; |
| pragma Pack (Packed_Rec); |
| |
| type Packed_RecArr is array (Integer range <>) of Packed_Rec; |
| pragma Pack (Packed_RecArr); |
| |
| type Nested_Packed is record |
| Q000 : Int; |
| R000 : Packed_Rec; |
| end record; |
| pragma Pack (Nested_Packed); |
| |
| procedure Run_Test; |
| |
| private |
| PR : Packed_Rec := (Packed_Array_Assign_Y => 3, |
| Packed_Array_Assign_W => 104, |
| Packed_Array_Assign_X => 2); |
| PRA : Packed_RecArr (1 .. 3); |
| NPR : Nested_Packed := (q000 => 3, r000 => (packed_array_assign_x => 6, packed_array_assign_y => 1, packed_array_assign_w => 117)); |
| end Aggregates; |