--- /dev/null
+-- { dg-do compile }
+
+package VFA3 is
+
+ type Bit is mod 2**1
+ with Size => 1;
+
+ type Intr_Level_Field is record
+ Level_Low : Bit := 0;
+ Level_High : Bit := 0;
+ Edge_Low : Bit := 0;
+ Edge_High : Bit := 0;
+ end record with Pack, Size => 4;
+ for Intr_Level_Field use record
+ Level_Low at 0 range 0 .. 0;
+ Level_High at 0 range 1 .. 1;
+ Edge_Low at 0 range 2 .. 2;
+ Edge_High at 0 range 3 .. 3;
+ end record;
+
+ type Intr_Level_Cluster is array (0 .. 7) of Intr_Level_Field
+ with Volatile_Full_Access, Pack, Object_Size => 32;
+ -- There are 8 Fields in a 32-bit word.
+
+end VFA3;