diff options
Diffstat (limited to 'testsuite/gna/issue317')
-rw-r--r-- | testsuite/gna/issue317/repro6.vhdl | 41 | ||||
-rwxr-xr-x | testsuite/gna/issue317/testsuite.sh | 4 |
2 files changed, 45 insertions, 0 deletions
diff --git a/testsuite/gna/issue317/repro6.vhdl b/testsuite/gna/issue317/repro6.vhdl new file mode 100644 index 000000000..13e7d801d --- /dev/null +++ b/testsuite/gna/issue317/repro6.vhdl @@ -0,0 +1,41 @@ +package repro6_gen_queue is + generic (type element_type); + + procedure queue_add (el : element_type); +end repro6_gen_queue; + +package body repro6_gen_queue is + procedure queue_add (el : element_type) is + begin + null; + end queue_add; +end repro6_gen_queue; + +package repro6_gen_board is + generic (type element_type); + + procedure board_add (e : element_type); +end repro6_gen_board; + +package body repro6_gen_board is + package board_queue is new work.repro6_gen_queue + generic map (element_type => element_type); + procedure board_add (e : element_type) is + begin + board_queue.queue_add(e); + end board_add; +end repro6_gen_board; + +entity repro6 is +end repro6; + +architecture behav of repro6 is + package my_board is new work.repro6_gen_board + generic map (element_type => natural); +begin + process + begin + my_board.board_add(5); + wait; + end process; +end behav; diff --git a/testsuite/gna/issue317/testsuite.sh b/testsuite/gna/issue317/testsuite.sh index 87e669b82..e1455ea71 100755 --- a/testsuite/gna/issue317/testsuite.sh +++ b/testsuite/gna/issue317/testsuite.sh @@ -23,6 +23,10 @@ elab_simulate repro4 analyze repro5.vhdl elab_simulate repro5 +# Reproducer6 +analyze repro6.vhdl +elab_simulate repro6 + # OSVVM if true; then analyze --work=osvvm OSVVM/NamePkg.vhd |