aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2016-11-12 07:31:47 +0100
committerTristan Gingold <tgingold@free.fr>2016-11-12 07:34:04 +0100
commit40e21861b113013e36da00e5d7acd8f98d3eb009 (patch)
treed859f1121238b77fdee40d928f300fb9d1e1a31f
parent70416572726fdd450fe89421be45916d1674eba0 (diff)
downloadghdl-40e21861b113013e36da00e5d7acd8f98d3eb009.tar.gz
ghdl-40e21861b113013e36da00e5d7acd8f98d3eb009.tar.bz2
ghdl-40e21861b113013e36da00e5d7acd8f98d3eb009.zip
Add testcase for #199
-rw-r--r--testsuite/gna/issue199/repro.vhdl30
-rwxr-xr-xtestsuite/gna/issue199/testsuite.sh11
2 files changed, 41 insertions, 0 deletions
diff --git a/testsuite/gna/issue199/repro.vhdl b/testsuite/gna/issue199/repro.vhdl
new file mode 100644
index 000000000..cc688af52
--- /dev/null
+++ b/testsuite/gna/issue199/repro.vhdl
@@ -0,0 +1,30 @@
+ENTITY repro IS
+END repro;
+
+package genpkg is
+ generic (function match (l, R : integer) return boolean);
+ procedure comp (l, R : integer; res : out boolean);
+end genpkg;
+
+package body genpkg is
+ procedure comp (l, R : integer; res : out boolean) is
+ begin
+ res := match (l, r);
+ end comp;
+end genpkg;
+
+package my_pkg is new work.genpkg generic map (match => "=");
+
+use work.my_pkg.all;
+
+ARCHITECTURE behav OF repro IS
+BEGIN
+ PROCESS
+ variable ok : boolean;
+ BEGIN
+ comp (5, 2 + 3, ok);
+ --ok := my_pkg.comp (5, 2 + 3);
+ assert ok severity error;
+ wait;
+ END PROCESS;
+end behav;
diff --git a/testsuite/gna/issue199/testsuite.sh b/testsuite/gna/issue199/testsuite.sh
new file mode 100755
index 000000000..8d22a2073
--- /dev/null
+++ b/testsuite/gna/issue199/testsuite.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+export GHDL_STD_FLAGS=--std=08
+analyze repro.vhdl
+elab_simulate repro
+
+clean
+
+echo "Test successful"