diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-04-18 12:04:09 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-04-18 12:04:09 +0200 |
commit | 8ae404dfdd4ef08262d2fdfeaeffc997cdb10596 (patch) | |
tree | b5fe8499ba2f53cb9d6eabd346ed22434ecde63f | |
parent | d21b3b72a90e18d60da958f1cf89eb912a17928b (diff) | |
download | ghdl-8ae404dfdd4ef08262d2fdfeaeffc997cdb10596.tar.gz ghdl-8ae404dfdd4ef08262d2fdfeaeffc997cdb10596.tar.bz2 ghdl-8ae404dfdd4ef08262d2fdfeaeffc997cdb10596.zip |
testsuite/synth: add tests from #1240
-rw-r--r-- | testsuite/synth/issue1240/issue1.vhdl | 12 | ||||
-rw-r--r-- | testsuite/synth/issue1240/issue2.vhdl | 13 | ||||
-rw-r--r-- | testsuite/synth/issue1240/issue3.vhdl | 17 | ||||
-rwxr-xr-x | testsuite/synth/issue1240/testsuite.sh | 10 |
4 files changed, 52 insertions, 0 deletions
diff --git a/testsuite/synth/issue1240/issue1.vhdl b/testsuite/synth/issue1240/issue1.vhdl new file mode 100644 index 000000000..cc5bf9f46 --- /dev/null +++ b/testsuite/synth/issue1240/issue1.vhdl @@ -0,0 +1,12 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +entity issue1 is + port (foobar : out signed (3 downto 0)); +end issue1; + +architecture beh of issue1 is +begin + foobar <= to_signed(natural'(-1), foobar'length); +end architecture; diff --git a/testsuite/synth/issue1240/issue2.vhdl b/testsuite/synth/issue1240/issue2.vhdl new file mode 100644 index 000000000..7e9f9032a --- /dev/null +++ b/testsuite/synth/issue1240/issue2.vhdl @@ -0,0 +1,13 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +entity issue2 is + port (foobar : out signed (3 downto 0)); +end issue2; + +architecture beh of issue2 is + subtype my_type is natural range 0 to 1; -- width = 1 +begin + foobar <= to_signed(my_type'(-15), foobar'length); +end architecture; diff --git a/testsuite/synth/issue1240/issue3.vhdl b/testsuite/synth/issue1240/issue3.vhdl new file mode 100644 index 000000000..85410cc0e --- /dev/null +++ b/testsuite/synth/issue1240/issue3.vhdl @@ -0,0 +1,17 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +entity issue3 is + port (foo : in integer; + foobar : out signed (3 downto 0)); +end issue3; + +architecture beh of issue3 is + subtype n_int is integer range -1 to 1; +begin + with n_int'(foo) select + foobar <= signed'("0001") when -1, + signed'("0010") when 0, + signed'("0011") when 1; +end architecture; diff --git a/testsuite/synth/issue1240/testsuite.sh b/testsuite/synth/issue1240/testsuite.sh new file mode 100755 index 000000000..f63808fcc --- /dev/null +++ b/testsuite/synth/issue1240/testsuite.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. ../../testenv.sh + +synth_failure issue1.vhdl -e +synth_failure issue2.vhdl -e + +clean + +echo "Test successful" |