From 420bcb45b110172ced81830fedcb72cee46c038a Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Thu, 24 Oct 2019 06:43:26 +0200 Subject: Add testcase for #984 --- testsuite/gna/issue984/const_pkg.vhd | 5 +++++ testsuite/gna/issue984/generic_check.vhd | 19 +++++++++++++++++++ testsuite/gna/issue984/tester.vhd | 9 +++++++++ testsuite/gna/issue984/tester_conf.vhd | 12 ++++++++++++ testsuite/gna/issue984/testsuite.sh | 14 ++++++++++++++ testsuite/gna/issue984/types_pkg.vhd | 3 +++ 6 files changed, 62 insertions(+) create mode 100644 testsuite/gna/issue984/const_pkg.vhd create mode 100644 testsuite/gna/issue984/generic_check.vhd create mode 100644 testsuite/gna/issue984/tester.vhd create mode 100644 testsuite/gna/issue984/tester_conf.vhd create mode 100755 testsuite/gna/issue984/testsuite.sh create mode 100644 testsuite/gna/issue984/types_pkg.vhd (limited to 'testsuite/gna') diff --git a/testsuite/gna/issue984/const_pkg.vhd b/testsuite/gna/issue984/const_pkg.vhd new file mode 100644 index 000000000..d93361ba9 --- /dev/null +++ b/testsuite/gna/issue984/const_pkg.vhd @@ -0,0 +1,5 @@ +use work.types_pkg.all; + +package const_pkg is + constant c : generic_type := (others => 5); +end package; diff --git a/testsuite/gna/issue984/generic_check.vhd b/testsuite/gna/issue984/generic_check.vhd new file mode 100644 index 000000000..cba427e71 --- /dev/null +++ b/testsuite/gna/issue984/generic_check.vhd @@ -0,0 +1,19 @@ +use work.types_pkg.all; +-- Workaround: +--use work.const_pkg.all; + +entity generic_check is + generic ( + i : generic_type + ); +end entity; + +architecture a of generic_check is +begin + process + begin + assert i(0) = 5 report "Should be 5, is " & integer'image(i(0)) + severity failure; + wait; + end process; +end architecture; diff --git a/testsuite/gna/issue984/tester.vhd b/testsuite/gna/issue984/tester.vhd new file mode 100644 index 000000000..63ef279e2 --- /dev/null +++ b/testsuite/gna/issue984/tester.vhd @@ -0,0 +1,9 @@ +entity tester is +end entity; + +architecture a of tester is + component check is + end component; +begin + checker: check; +end architecture; diff --git a/testsuite/gna/issue984/tester_conf.vhd b/testsuite/gna/issue984/tester_conf.vhd new file mode 100644 index 000000000..7644dfbb7 --- /dev/null +++ b/testsuite/gna/issue984/tester_conf.vhd @@ -0,0 +1,12 @@ +use work.const_pkg.all; + +configuration tester_conf of tester is + for a + for checker : check + use entity work.generic_check + generic map ( + i => c + ); + end for; + end for; +end configuration; diff --git a/testsuite/gna/issue984/testsuite.sh b/testsuite/gna/issue984/testsuite.sh new file mode 100755 index 000000000..032cba8c7 --- /dev/null +++ b/testsuite/gna/issue984/testsuite.sh @@ -0,0 +1,14 @@ +#! /bin/sh + +. ../../testenv.sh + +analyze types_pkg.vhd +analyze const_pkg.vhd +analyze tester.vhd +analyze generic_check.vhd +analyze tester_conf.vhd +elab_simulate tester_conf + +clean + +echo "Test successful" diff --git a/testsuite/gna/issue984/types_pkg.vhd b/testsuite/gna/issue984/types_pkg.vhd new file mode 100644 index 000000000..19527eb60 --- /dev/null +++ b/testsuite/gna/issue984/types_pkg.vhd @@ -0,0 +1,3 @@ +package types_pkg is + type generic_type is array(0 to 3) of integer; +end package; -- cgit v1.2.3