aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue1549/ent7.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/gna/issue1549/ent7.vhdl')
-rw-r--r--testsuite/gna/issue1549/ent7.vhdl31
1 files changed, 31 insertions, 0 deletions
diff --git a/testsuite/gna/issue1549/ent7.vhdl b/testsuite/gna/issue1549/ent7.vhdl
new file mode 100644
index 000000000..b855b6b25
--- /dev/null
+++ b/testsuite/gna/issue1549/ent7.vhdl
@@ -0,0 +1,31 @@
+entity ent7 is
+ generic (
+ WIDTH : natural := 1);
+end;
+
+architecture ent of ent7 is
+ type data_t is record
+ t : bit_vector;
+ end record;
+ type bv_array_t is array (natural range <>) of data_t;
+ subtype bv_array2_t is bv_array_t(open)(t(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).t);
+ end loop;
+
+ assert c(1).t(0) = '1'; -- <<<<<====== This should not fail
+ end procedure;
+
+begin
+ process
+ variable data2 : bv_array2_t(0 to 1);
+ begin
+ data2(0).t := "0";
+ data2(1).t := "1";
+ write_data(data2);
+ wait;
+ end process;
+end ent;