diff options
Diffstat (limited to 'testsuite/gna/issue1549/ent8.vhdl')
-rw-r--r-- | testsuite/gna/issue1549/ent8.vhdl | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/testsuite/gna/issue1549/ent8.vhdl b/testsuite/gna/issue1549/ent8.vhdl new file mode 100644 index 000000000..b8b72b83c --- /dev/null +++ b/testsuite/gna/issue1549/ent8.vhdl @@ -0,0 +1,35 @@ +entity ent8 is + generic ( + WIDTH : natural := 1); +end; + +architecture ent of ent8 is + type data_t is record + t1 : bit_vector; + t2 : bit_vector; + end record; + type bv_array_t is array (natural range <>) of data_t; + subtype bv_array1_t is bv_array_t(open)(t1(WIDTH - 1 downto 0)); + subtype bv_array2_t is bv_array1_t(open)(t2(WIDTH - 1 downto 0)); + + procedure write_data (constant c : bv_array2_t) is + begin + for i in c'range loop + report integer'image(i) & " =>" & to_string(c(i).t1); + end loop; + + assert c(1).t1(0) = '1'; -- <<<<<====== This should not fail + end procedure; + +begin + process + variable data2 : bv_array2_t(0 to 1); + begin + data2(0).t1 := "0"; + data2(0).t2 := "1"; + data2(1).t1 := "1"; + data2(1).t2 := "0"; + write_data(data2); + wait; + end process; +end ent; |