diff options
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/gna/ticket71/bug.vhdl | 43 | ||||
-rwxr-xr-x | testsuite/gna/ticket71/testsuite.sh | 13 |
2 files changed, 56 insertions, 0 deletions
diff --git a/testsuite/gna/ticket71/bug.vhdl b/testsuite/gna/ticket71/bug.vhdl new file mode 100644 index 0000000..e9955d5 --- /dev/null +++ b/testsuite/gna/ticket71/bug.vhdl @@ -0,0 +1,43 @@ +package pkg is + procedure proc(signal sig : in integer; msg : string); +end package; + +package body pkg is + procedure proc(signal sig : in integer; msg : string) is + begin + loop + wait on sig; + report integer'image(sig) & " : " & msg; + end loop; + end procedure; +end package body; + +use work.pkg.all; + +entity ent2 is + port ( + prt : out integer); +begin + proc(prt, "entity"); +end entity; + +architecture a of ent2 is +begin + proc(prt, "architecture"); + main : process + begin + prt <= 1; + wait for 1 ns; + prt <= 2; + wait; + end process; +end architecture; + +entity ent is +end entity; + +architecture a of ent is + signal sig : integer; +begin + ent2_inst : entity work.ent2 port map(prt => sig); +end architecture; diff --git a/testsuite/gna/ticket71/testsuite.sh b/testsuite/gna/ticket71/testsuite.sh new file mode 100755 index 0000000..892a436 --- /dev/null +++ b/testsuite/gna/ticket71/testsuite.sh @@ -0,0 +1,13 @@ +#! /bin/sh + +. ../../testenv.sh + +analyze_failure bug.vhdl +clean + +GHDL_STD_FLAGS=--std=08 +analyze bug.vhdl +elab_simulate ent +clean + +echo "Test successful" |