aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-08-05 18:17:38 +0200
committerTristan Gingold <tgingold@free.fr>2020-08-05 18:17:38 +0200
commitf47d2c881d7807c73165bb42aa3880c992ed03d8 (patch)
tree421e1a0278c8fc2a705cdb9e7066dd1f58330139 /testsuite
parent36c27c62c74efcb6b55b62cede4d59465fa2672a (diff)
downloadghdl-f47d2c881d7807c73165bb42aa3880c992ed03d8.tar.gz
ghdl-f47d2c881d7807c73165bb42aa3880c992ed03d8.tar.bz2
ghdl-f47d2c881d7807c73165bb42aa3880c992ed03d8.zip
testsuite/gna: add a test for #780
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/gna/issue780/ent.vhdl27
-rw-r--r--testsuite/gna/issue780/pkg.vhdl22
-rwxr-xr-xtestsuite/gna/issue780/testsuite.sh13
3 files changed, 62 insertions, 0 deletions
diff --git a/testsuite/gna/issue780/ent.vhdl b/testsuite/gna/issue780/ent.vhdl
new file mode 100644
index 000000000..7d050a616
--- /dev/null
+++ b/testsuite/gna/issue780/ent.vhdl
@@ -0,0 +1,27 @@
+library ieee;
+context ieee.ieee_std_context;
+
+entity dut is
+end entity dut;
+
+architecture rtl of dut is
+
+ type t_slv_array is array (natural range <>) of std_logic_vector;
+ type t_ipbus_tranaction_header is
+ record
+ protocol_version : natural range 0 to 2**4 - 1;
+ transaction_id : natural range 0 to 2**12 - 1;
+ words : natural range 0 to 2**8 - 1;
+ end record;
+
+ type t_ipbus_transaction is
+ record
+ header : t_ipbus_tranaction_header;
+ bodyy : t_slv_array;
+ end record;
+
+ signal transaction : t_ipbus_transaction(bodyy(7 downto 0)(31 downto 0));
+
+begin
+
+end architecture rtl;
diff --git a/testsuite/gna/issue780/pkg.vhdl b/testsuite/gna/issue780/pkg.vhdl
new file mode 100644
index 000000000..65fca4d66
--- /dev/null
+++ b/testsuite/gna/issue780/pkg.vhdl
@@ -0,0 +1,22 @@
+library ieee;
+use ieee.std_logic_1164.all;
+
+package pkg is
+ type t_slv_array is array (natural range <>) of std_logic_vector;
+ type t_ipbus_tranaction_header is
+ record
+ protocol_version : natural range 0 to 2**4 - 1;
+ transaction_id : natural range 0 to 2**12 - 1;
+ words : natural range 0 to 2**8 - 1;
+-- type_id : t_ipbus_transaction_type_id;
+-- info_code : t_ipbus_transaction_info_code;
+ end record;
+
+ type t_ipbus_transaction is
+ record
+ header : t_ipbus_tranaction_header;
+ bodyy : t_slv_array;
+ end record;
+
+ signal trans : t_ipbus_transaction(bodyy(7 downto 0)(31 downto 0));
+end pkg;
diff --git a/testsuite/gna/issue780/testsuite.sh b/testsuite/gna/issue780/testsuite.sh
new file mode 100755
index 000000000..5c46873c4
--- /dev/null
+++ b/testsuite/gna/issue780/testsuite.sh
@@ -0,0 +1,13 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+export GHDL_STD_FLAGS=--std=08
+analyze pkg.vhdl
+
+analyze ent.vhdl
+elab_simulate dut
+
+clean
+
+echo "Test successful"