aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2017-09-06 05:34:01 +0200
committerTristan Gingold <tgingold@free.fr>2017-09-06 05:34:01 +0200
commit1cf3b7f84f2b1646425f3b9e31237bf7e1ec667f (patch)
treec717453fb656021175b826324f531959dd2c5650
parent9ed2199d83ebf4beaca2d6381c9f552165b8ba5f (diff)
downloadghdl-1cf3b7f84f2b1646425f3b9e31237bf7e1ec667f.tar.gz
ghdl-1cf3b7f84f2b1646425f3b9e31237bf7e1ec667f.tar.bz2
ghdl-1cf3b7f84f2b1646425f3b9e31237bf7e1ec667f.zip
Also fix for next/exit statement.
Part of #407
-rw-r--r--src/vhdl/canon.adb2
-rw-r--r--testsuite/gna/issue407/test2.vhdl13
-rwxr-xr-xtestsuite/gna/issue407/testsuite.sh3
3 files changed, 17 insertions, 1 deletions
diff --git a/src/vhdl/canon.adb b/src/vhdl/canon.adb
index 39f83e712..96f8e02c7 100644
--- a/src/vhdl/canon.adb
+++ b/src/vhdl/canon.adb
@@ -375,7 +375,7 @@ package body Canon is
| Iir_Kind_Exit_Statement =>
-- LRM08 11.3
-- See assertion_statement case.
- Canon_Extract_Sensitivity
+ Canon_Extract_Sensitivity_If_Not_Null
(Get_Condition (Stmt), List);
when Iir_Kind_Return_Statement =>
-- LRM08 11.3
diff --git a/testsuite/gna/issue407/test2.vhdl b/testsuite/gna/issue407/test2.vhdl
new file mode 100644
index 000000000..2ad1c80fc
--- /dev/null
+++ b/testsuite/gna/issue407/test2.vhdl
@@ -0,0 +1,13 @@
+entity test2 is
+begin
+end entity;
+
+architecture arch of test2 is
+begin
+ process(all)
+ begin
+ loop
+ exit;
+ end loop;
+ end process;
+end architecture;
diff --git a/testsuite/gna/issue407/testsuite.sh b/testsuite/gna/issue407/testsuite.sh
index 61e8efa0b..d884f1b07 100755
--- a/testsuite/gna/issue407/testsuite.sh
+++ b/testsuite/gna/issue407/testsuite.sh
@@ -9,6 +9,9 @@ elab_simulate test
analyze test1.vhdl
elab_simulate test1
+analyze test2.vhdl
+elab_simulate test2
+
clean
echo "Test successful"