aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-11-20 17:37:42 +0100
committerTristan Gingold <tgingold@free.fr>2018-11-20 17:37:42 +0100
commita781dc357b4fb46614ebdcc6abfba6831de90fdf (patch)
treeb6fb326c7d1180e906877d124eebb6bf8dcc9a3e /testsuite
parentcfc292a4d7319d6599b1d9f74b879301d71af63d (diff)
downloadghdl-a781dc357b4fb46614ebdcc6abfba6831de90fdf.tar.gz
ghdl-a781dc357b4fb46614ebdcc6abfba6831de90fdf.tar.bz2
ghdl-a781dc357b4fb46614ebdcc6abfba6831de90fdf.zip
Add reproducer for #694
Close #694
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/gna/issue694/mixer.vhdl16
-rw-r--r--testsuite/gna/issue694/mixer_pkg.vhdl6
-rw-r--r--testsuite/gna/issue694/mixer_tb.vhdl11
-rwxr-xr-xtestsuite/gna/issue694/testsuite.sh11
4 files changed, 44 insertions, 0 deletions
diff --git a/testsuite/gna/issue694/mixer.vhdl b/testsuite/gna/issue694/mixer.vhdl
new file mode 100644
index 000000000..4b6f4706d
--- /dev/null
+++ b/testsuite/gna/issue694/mixer.vhdl
@@ -0,0 +1,16 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use work.mixer_pkg.sample_array;
+
+entity mixer is
+ generic(
+ sample_bits: positive
+ );
+ port(
+ i_samples: in sample_array(0 to 127)(sample_bits-1 downto 0)
+ );
+end mixer;
+
+architecture behavioural of mixer is
+begin
+end behavioural;
diff --git a/testsuite/gna/issue694/mixer_pkg.vhdl b/testsuite/gna/issue694/mixer_pkg.vhdl
new file mode 100644
index 000000000..fb049fb18
--- /dev/null
+++ b/testsuite/gna/issue694/mixer_pkg.vhdl
@@ -0,0 +1,6 @@
+library ieee;
+use ieee.std_logic_1164.all;
+
+package mixer_pkg is
+ type sample_array is array (natural range <>) of std_logic_vector;
+end package mixer_pkg;
diff --git a/testsuite/gna/issue694/mixer_tb.vhdl b/testsuite/gna/issue694/mixer_tb.vhdl
new file mode 100644
index 000000000..9a825b165
--- /dev/null
+++ b/testsuite/gna/issue694/mixer_tb.vhdl
@@ -0,0 +1,11 @@
+entity mixer_tb is
+end;
+
+use work.mixer_pkg.all;
+
+architecture behav of mixer_tb is
+ signal s : sample_array(0 to 127)(3 downto 0);
+begin
+ inst : entity work.mixer generic map (sample_bits => 4)
+ port map(i_samples => s);
+end behav;
diff --git a/testsuite/gna/issue694/testsuite.sh b/testsuite/gna/issue694/testsuite.sh
new file mode 100755
index 000000000..8912b7be0
--- /dev/null
+++ b/testsuite/gna/issue694/testsuite.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+export GHDL_STD_FLAGS=--std=08
+analyze mixer_pkg.vhdl mixer.vhdl mixer_tb.vhdl
+elab_simulate mixer_tb
+
+clean
+
+echo "Test successful"