diff options
| -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 000000000..e9955d55a --- /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 000000000..892a43602 --- /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"  | 
