aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/issue1310
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-05-15 08:18:27 +0200
committerTristan Gingold <tgingold@free.fr>2020-05-15 08:18:27 +0200
commit9fbdcec2cfc8afb6193ba9e48825acedb355cb6b (patch)
tree3423b0a6b9c05d23a1239361d56b8fee03afeb1e /testsuite/synth/issue1310
parent6a57bfe3512001324d0954ebea4156a1746608a5 (diff)
downloadghdl-9fbdcec2cfc8afb6193ba9e48825acedb355cb6b.tar.gz
ghdl-9fbdcec2cfc8afb6193ba9e48825acedb355cb6b.tar.bz2
ghdl-9fbdcec2cfc8afb6193ba9e48825acedb355cb6b.zip
testsuite/synth: add tests for #1310
Diffstat (limited to 'testsuite/synth/issue1310')
-rw-r--r--testsuite/synth/issue1310/issue.vhdl22
-rw-r--r--testsuite/synth/issue1310/issue2.vhdl19
-rwxr-xr-xtestsuite/synth/issue1310/testsuite.sh9
3 files changed, 50 insertions, 0 deletions
diff --git a/testsuite/synth/issue1310/issue.vhdl b/testsuite/synth/issue1310/issue.vhdl
new file mode 100644
index 000000000..9ed2e902c
--- /dev/null
+++ b/testsuite/synth/issue1310/issue.vhdl
@@ -0,0 +1,22 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity issue is
+ port (sig_gt, sig_ge, sig_lt, sig_le : out boolean;
+ uns_gt, uns_ge, uns_lt, uns_le : out boolean);
+end issue;
+
+architecture beh of issue is
+begin
+ -- all of those works
+ uns_gt <= (unsigned'("1111") > unsigned'("0111"));
+ uns_ge <= (unsigned'("1111") >= unsigned'("0111"));
+ uns_lt <= (unsigned'("1111") < unsigned'("0111"));
+ uns_le <= (unsigned'("1111") <= unsigned'("0111"));
+
+ sig_gt <= (signed'("1111") > signed'("0111"));
+ sig_ge <= (signed'("1111") >= signed'("0111"));
+ sig_lt <= (signed'("1111") < signed'("0111"));
+ sig_le <= (signed'("1111") <= signed'("0111"));
+end architecture beh;
diff --git a/testsuite/synth/issue1310/issue2.vhdl b/testsuite/synth/issue1310/issue2.vhdl
new file mode 100644
index 000000000..4fbe56000
--- /dev/null
+++ b/testsuite/synth/issue1310/issue2.vhdl
@@ -0,0 +1,19 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity issue2 is
+end issue2;
+
+architecture beh of issue2 is
+begin
+ assert (unsigned'("1111") > unsigned'("0111"));
+ assert (unsigned'("1111") >= unsigned'("0111"));
+ assert (unsigned'("0111") < unsigned'("1111"));
+ assert (unsigned'("0111") <= unsigned'("1111"));
+
+ assert (signed'("0111") > signed'("1111"));
+ assert (signed'("0111") >= signed'("1111"));
+ assert (signed'("1111") < signed'("0111"));
+ assert (signed'("1111") <= signed'("0111"));
+end architecture beh;
diff --git a/testsuite/synth/issue1310/testsuite.sh b/testsuite/synth/issue1310/testsuite.sh
new file mode 100755
index 000000000..be51264d6
--- /dev/null
+++ b/testsuite/synth/issue1310/testsuite.sh
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+synth_analyze issue
+synth_analyze issue2
+clean
+
+echo "Test successful"