aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue529/impure2.vhdl
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2018-02-18 07:39:30 +0100
committerTristan Gingold <tgingold@free.fr>2018-02-18 07:40:17 +0100
commit047a8c2a033ac21ac17b5d05584795f83cfcd776 (patch)
tree9ed101041529d6390c814964f30a84d28875c86a /testsuite/gna/issue529/impure2.vhdl
parentc95389e1c44b5ad2b54b3b7d4eeb666a0a87a1ac (diff)
downloadghdl-047a8c2a033ac21ac17b5d05584795f83cfcd776.tar.gz
ghdl-047a8c2a033ac21ac17b5d05584795f83cfcd776.tar.bz2
ghdl-047a8c2a033ac21ac17b5d05584795f83cfcd776.zip
Add reproducer for #529
Diffstat (limited to 'testsuite/gna/issue529/impure2.vhdl')
-rw-r--r--testsuite/gna/issue529/impure2.vhdl27
1 files changed, 27 insertions, 0 deletions
diff --git a/testsuite/gna/issue529/impure2.vhdl b/testsuite/gna/issue529/impure2.vhdl
new file mode 100644
index 000000000..83f37ccc0
--- /dev/null
+++ b/testsuite/gna/issue529/impure2.vhdl
@@ -0,0 +1,27 @@
+entity impure_ex2 is
+port (
+ clk : in bit;
+ arg : in bit;
+ res : out bit
+);
+end impure_ex2;
+
+architecture rtl of impure_ex2 is
+
+ -- An impure function called from a combinatorial process with "all"
+ -- sensitivity triggers an exception.
+ impure function foo return bit is
+ begin
+ return arg;
+ end function foo;
+
+ signal ns : bit;
+
+begin
+
+ --comb_process : process(res) -- this works
+ comb_process : process(all)
+ begin
+ ns <= res XOR foo;
+ end process;
+end rtl;