aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/deb573721/573721_deb.vhd
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2013-12-28 07:10:18 +0100
committerTristan Gingold <tgingold@free.fr>2013-12-28 07:10:18 +0100
commit56805100887c461128954142a5544942f5ffadff (patch)
treee3bd95767eaa36d2bcd5108d5fe1c615c4366151 /testsuite/gna/deb573721/573721_deb.vhd
parentaf3c4fd602358cb36d9468f183d89719a78a2d88 (diff)
downloadghdl-56805100887c461128954142a5544942f5ffadff.tar.gz
ghdl-56805100887c461128954142a5544942f5ffadff.tar.bz2
ghdl-56805100887c461128954142a5544942f5ffadff.zip
Add tests for ticket #1 and #2.
Diffstat (limited to 'testsuite/gna/deb573721/573721_deb.vhd')
-rw-r--r--testsuite/gna/deb573721/573721_deb.vhd51
1 files changed, 51 insertions, 0 deletions
diff --git a/testsuite/gna/deb573721/573721_deb.vhd b/testsuite/gna/deb573721/573721_deb.vhd
new file mode 100644
index 000000000..de8fe0bc4
--- /dev/null
+++ b/testsuite/gna/deb573721/573721_deb.vhd
@@ -0,0 +1,51 @@
+library ieee;
+use ieee.std_logic_1164.all;
+use ieee.numeric_std.all;
+
+entity test is end entity;
+
+architecture a_test of test is
+ signal a, b : std_logic;
+ signal i1 : integer := 1;
+ constant i2 : integer := 1;
+ signal t1 : time := 1 ns;
+ constant t2 : time := 1 ns;
+begin
+ process
+ variable m : boolean;
+ variable ip1 : integer := 1;
+ constant ip2 : integer := 1;
+ variable tp1 : time := 1 ns;
+ constant tp2 : time := 1 ns;
+ begin
+ m := a'stable(1 ns); --works ... literal
+ m := a'stable(i1 * ns); --works ... signal * unit
+ m := a'stable(i2 * ns); --works ... constant * unit
+ m := a'stable(t1); --works ... signal (time)
+ m := a'stable(t2); --works ... constant (time)
+ m := a'stable(ip1 * ns); --crashs ... LOCAL variable * unit
+ m := a'stable(ip2 * ns); --works ... LOCAL constant * unit
+ m := a'stable(tp1); --crashs ... LOCAL variable (time)
+ m := a'stable(tp2); --crashs ... LOCAL constant (time)
+ --
+ m := a'quiet(1 ns); --works
+ m := a'quiet(i1 * ns); --works
+ m := a'quiet(i2 * ns); --works
+ m := a'quiet(t1); --works
+ m := a'quiet(t2); --works
+ m := a'quiet(ip1 * ns); --crashs
+ m := a'quiet(ip2 * ns); --works
+ m := a'quiet(tp1); --crashs
+ m := a'quiet(tp2); --crashs
+ --
+ b <= a'delayed(1 ns); --works
+ b <= a'delayed(i1 * ns); --works
+ b <= a'delayed(i2 * ns); --works
+ b <= a'delayed(t1); --works
+ b <= a'delayed(t2); --works
+ b <= a'delayed(ip1 * ns); --crashs
+ b <= a'delayed(ip2 * ns); --works
+ b <= a'delayed(tp1); --crashs
+ b <= a'delayed(tp2); --crashs
+ end process;
+end architecture;