aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testsuite/gna/issue253/e.vhdl13
-rw-r--r--testsuite/gna/issue253/e2.vhdl17
-rwxr-xr-xtestsuite/gna/issue253/testsuite.sh14
3 files changed, 44 insertions, 0 deletions
diff --git a/testsuite/gna/issue253/e.vhdl b/testsuite/gna/issue253/e.vhdl
new file mode 100644
index 000000000..a261312ed
--- /dev/null
+++ b/testsuite/gna/issue253/e.vhdl
@@ -0,0 +1,13 @@
+entity e is
+end entity;
+
+architecture a of e is
+ signal a : bit;
+ constant b : bit := '0';
+begin
+ assert FALSE report bit'image(a'subtype'left) severity NOTE;
+ assert FALSE report bit'image(b'subtype'left) severity NOTE;
+
+ assert FALSE report a'subtype'image(a) severity NOTE;
+ assert FALSE report b'subtype'image(b) severity NOTE;
+end architecture;
diff --git a/testsuite/gna/issue253/e2.vhdl b/testsuite/gna/issue253/e2.vhdl
new file mode 100644
index 000000000..c93cb3703
--- /dev/null
+++ b/testsuite/gna/issue253/e2.vhdl
@@ -0,0 +1,17 @@
+entity e2 is
+end entity;
+
+architecture a of e2 is
+ function get_left return natural is
+ begin
+ return 12;
+ end get_left;
+
+ constant l : natural := get_left;
+ subtype t is integer range 0 to l;
+ signal a : t;
+begin
+ assert FALSE report natural'image(a'subtype'left) severity NOTE;
+
+ assert FALSE report a'subtype'image(a) severity NOTE;
+end architecture;
diff --git a/testsuite/gna/issue253/testsuite.sh b/testsuite/gna/issue253/testsuite.sh
new file mode 100755
index 000000000..7bcc5e280
--- /dev/null
+++ b/testsuite/gna/issue253/testsuite.sh
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+export GHDL_STD_FLAGS=--std=08
+analyze e.vhdl
+elab_simulate e
+
+analyze e2.vhdl
+elab_simulate e2
+
+clean
+
+echo "Test successful"