From a3524ea3265ab4c135d1fa3461466ba0a7d8dfac Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Sat, 16 Jun 2018 18:38:49 +0200 Subject: Add testcase for #609 --- testsuite/gna/issue609/test.vhd | 25 +++++++++++++++++++++++++ testsuite/gna/issue609/testsuite.sh | 10 ++++++++++ 2 files changed, 35 insertions(+) create mode 100644 testsuite/gna/issue609/test.vhd create mode 100755 testsuite/gna/issue609/testsuite.sh (limited to 'testsuite/gna/issue609') diff --git a/testsuite/gna/issue609/test.vhd b/testsuite/gna/issue609/test.vhd new file mode 100644 index 000000000..998d5e576 --- /dev/null +++ b/testsuite/gna/issue609/test.vhd @@ -0,0 +1,25 @@ +library ieee; +use ieee.std_logic_1164.all ; +entity foo is + + port ( + addr : in std_logic_vector(3 downto 0); + data_in : out std_logic_vector(31 downto 0); + data_out : out std_logic_vector(31 downto 0) + ); + +end entity foo; +architecture simple of foo is + type mem_type is array (5 downto 0) of std_logic_vector(31 downto 0); + signal mem : mem_type ; + +begin -- architecture simple + + foop: process (all) is + begin -- process foop + mem[address]<=data_in; + -- The above code is erronous but instead of flaging an error the compiler + -- crashes + -- mem(address)<=data_in; + end process foop; +end architecture simple; diff --git a/testsuite/gna/issue609/testsuite.sh b/testsuite/gna/issue609/testsuite.sh new file mode 100755 index 000000000..f39495609 --- /dev/null +++ b/testsuite/gna/issue609/testsuite.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. ../../testenv.sh + +export GHDL_STD_FLAGS=--std=08 +analyze_failure test.vhd + +clean + +echo "Test successful" -- cgit v1.2.3