diff options
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/gna/issue14/repro.vhdl | 20 | ||||
-rw-r--r-- | testsuite/gna/issue14/repro1.vhdl | 10 | ||||
-rwxr-xr-x | testsuite/gna/issue14/testsuite.sh | 18 |
3 files changed, 48 insertions, 0 deletions
diff --git a/testsuite/gna/issue14/repro.vhdl b/testsuite/gna/issue14/repro.vhdl new file mode 100644 index 0000000..4dc747f --- /dev/null +++ b/testsuite/gna/issue14/repro.vhdl @@ -0,0 +1,20 @@ +library ieee; +use ieee.std_logic_1164.all; + +entity repro is +end repro; + +architecture behav of repro is +begin + process + variable z : std_ulogic_vector (1 to 2) := "00"; + variable r : std_ulogic; + begin + r := z ?= "LL"; + assert r = '1'; + z := "--"; + r := z ?= "00"; -- One warning + r := z ?= "--"; -- Two warning + wait; + end process; +end behav; diff --git a/testsuite/gna/issue14/repro1.vhdl b/testsuite/gna/issue14/repro1.vhdl new file mode 100644 index 0000000..468b651 --- /dev/null +++ b/testsuite/gna/issue14/repro1.vhdl @@ -0,0 +1,10 @@ +library ieee; +use ieee.std_logic_1164.all; + +entity repro is +end repro; + +architecture behav of repro is +begin + assert std_ulogic_vector'("LL") ?= "00"; +end behav; diff --git a/testsuite/gna/issue14/testsuite.sh b/testsuite/gna/issue14/testsuite.sh new file mode 100755 index 0000000..7b44135 --- /dev/null +++ b/testsuite/gna/issue14/testsuite.sh @@ -0,0 +1,18 @@ +#! /bin/sh + +. ../../testenv.sh + +GHDL_STD_FLAGS=--std=08 +analyze repro.vhdl +elab_simulate repro 2>&1 | tee log.txt + +if test `grep -c assert log.txt` -ne 2; then + exit 1 +else + echo "Expected number of warnings" +fi + +clean +rm log.txt + +echo "Test successful" |