aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vhdl/vhdl-sem_utils.adb4
-rw-r--r--testsuite/gna/bug0100/procinter.vhdl10
-rwxr-xr-xtestsuite/gna/bug0100/testsuite.sh5
3 files changed, 17 insertions, 2 deletions
diff --git a/src/vhdl/vhdl-sem_utils.adb b/src/vhdl/vhdl-sem_utils.adb
index ac06e3ea9..bd4f20eef 100644
--- a/src/vhdl/vhdl-sem_utils.adb
+++ b/src/vhdl/vhdl-sem_utils.adb
@@ -60,6 +60,10 @@ package body Vhdl.Sem_Utils is
Sig := Sig + 1;
Hash := Hash * 7 + To_Hash (Itype);
Hash := Hash + Hash / 2**28;
+ else
+ -- Non-object parameter are not allowed.
+ pragma Assert (Flags.Flag_Force_Analysis);
+ null;
end if;
Inter := Get_Chain (Inter);
end loop;
diff --git a/testsuite/gna/bug0100/procinter.vhdl b/testsuite/gna/bug0100/procinter.vhdl
new file mode 100644
index 000000000..2090af217
--- /dev/null
+++ b/testsuite/gna/bug0100/procinter.vhdl
@@ -0,0 +1,10 @@
+entity procinter is
+end;
+
+architecture arch of procinter is
+ procedure proc (procedure proc2 (v : natural)) is
+ begin
+ null;
+ end proc;
+begin
+end arch;
diff --git a/testsuite/gna/bug0100/testsuite.sh b/testsuite/gna/bug0100/testsuite.sh
index efd122b9c..92b8ad212 100755
--- a/testsuite/gna/bug0100/testsuite.sh
+++ b/testsuite/gna/bug0100/testsuite.sh
@@ -8,8 +8,9 @@ analyze_failure --force-analysis notype2.vhdl
analyze_failure --force-analysis nochoice1.vhdl
analyze_failure --force-analysis nochoice2.vhdl
analyze_failure --force-analysis choicelen.vhdl
-analyze_failure --force-analysis noexpr.vhdl
-analyze_failure --force-analysis str.vhdl
+analyze_failure --force-analysis noexpr.vhdl
+analyze_failure --force-analysis str.vhdl
+analyze_failure --force-analysis procinter.vhdl
analyze_failure usrattr.vhdl
analyze_failure forloop.vhdl