aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--testsuite/gna/bug056/tb.vhdl21
-rwxr-xr-xtestsuite/gna/bug056/testsuite.sh12
2 files changed, 33 insertions, 0 deletions
diff --git a/testsuite/gna/bug056/tb.vhdl b/testsuite/gna/bug056/tb.vhdl
new file mode 100644
index 000000000..cda7ef62f
--- /dev/null
+++ b/testsuite/gna/bug056/tb.vhdl
@@ -0,0 +1,21 @@
+package pkg is
+ generic (c : natural);
+
+ function f return natural;
+end pkg;
+
+package body pkg is
+ function f return natural is
+ begin
+ return c;
+ end f;
+end pkg;
+
+entity tb is
+end tb;
+
+architecture behav of tb is
+ package p is new work.pkg generic map (c => 3);
+begin
+ assert p.f = 3;
+end behav;
diff --git a/testsuite/gna/bug056/testsuite.sh b/testsuite/gna/bug056/testsuite.sh
new file mode 100755
index 000000000..8f65b4375
--- /dev/null
+++ b/testsuite/gna/bug056/testsuite.sh
@@ -0,0 +1,12 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+GHDL_STD_FLAGS=--std=08
+
+analyze tb.vhdl
+elab_simulate tb
+
+clean
+
+echo "Test successful"