diff options
Diffstat (limited to 'gcc/testsuite/gnat.dg/nested_agg_bitfield_constructor.adb')
-rw-r--r-- | gcc/testsuite/gnat.dg/nested_agg_bitfield_constructor.adb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gnat.dg/nested_agg_bitfield_constructor.adb b/gcc/testsuite/gnat.dg/nested_agg_bitfield_constructor.adb new file mode 100644 index 000000000..6015900c5 --- /dev/null +++ b/gcc/testsuite/gnat.dg/nested_agg_bitfield_constructor.adb @@ -0,0 +1,34 @@ +-- { dg-do compile } +-- { dg-options "-gnatws" } +-- (bits of "Header" unused) + +procedure Nested_Agg_Bitfield_Constructor is + + type Uint64 is mod 2 ** 64; + type Uint16 is mod 2 ** 16; + + type Time_Stamp is record + Sec : Uint64; + Year : Uint16; + end record; + + type Msg_Header is record + Stamp : Time_Stamp; + end record; + for Msg_Header use record + Stamp at 0 range 0 .. 64+16-1; + end record; + for Msg_Header'Size use 80; + + type Msg is record + Header : Msg_Header; + end record; + + for Msg use record + Header at 0 range 0 .. 191; + end record; + + M : Msg := (Header => (Stamp => (2, 4))); +begin + null; +end; |