aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/ticket44
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2015-05-10 16:03:54 +0200
committerTristan Gingold <tgingold@free.fr>2015-05-10 16:03:54 +0200
commit7a998f26f619adec0527ebd7e09b63eb058fdf95 (patch)
treea11ace111425b58dc04f52c6aff64ed494f82613 /testsuite/gna/ticket44
parent7b7f3c1113a767b59e13cc49fe818c9c1efde15e (diff)
downloadghdl-7a998f26f619adec0527ebd7e09b63eb058fdf95.tar.gz
ghdl-7a998f26f619adec0527ebd7e09b63eb058fdf95.tar.bz2
ghdl-7a998f26f619adec0527ebd7e09b63eb058fdf95.zip
File reproducer for ticket 43 and 44.
Diffstat (limited to 'testsuite/gna/ticket44')
-rw-r--r--testsuite/gna/ticket44/file1.vhd23
-rw-r--r--testsuite/gna/ticket44/file2.vhd13
-rwxr-xr-xtestsuite/gna/ticket44/testsuite.sh10
3 files changed, 46 insertions, 0 deletions
diff --git a/testsuite/gna/ticket44/file1.vhd b/testsuite/gna/ticket44/file1.vhd
new file mode 100644
index 000000000..06c6ddaf4
--- /dev/null
+++ b/testsuite/gna/ticket44/file1.vhd
@@ -0,0 +1,23 @@
+package pkg is
+ type protected_t is protected
+ end protected protected_t;
+
+ procedure proc(variable prot : inout protected_t; variable result : out boolean);
+end package;
+
+package body pkg is
+ type protected_t is protected body
+ end protected body protected_t;
+
+ procedure proc(variable prot : inout protected_t; variable result : out boolean) is
+ begin
+ end;
+end package body pkg;
+
+use work.pkg.all;
+
+package other_pkg is
+ procedure other_proc(variable result : out boolean);
+ alias other_proc is proc[protected_t, boolean];
+ impure function other_proc return boolean;
+end package;
diff --git a/testsuite/gna/ticket44/file2.vhd b/testsuite/gna/ticket44/file2.vhd
new file mode 100644
index 000000000..a9566d5b0
--- /dev/null
+++ b/testsuite/gna/ticket44/file2.vhd
@@ -0,0 +1,13 @@
+package body other_pkg is
+ procedure other_proc (
+ variable result : out boolean) is
+ begin
+ end;
+
+ impure function other_proc
+ return boolean is
+ variable result : boolean;
+ begin
+ return result;
+ end function other_proc;
+end package body other_pkg;
diff --git a/testsuite/gna/ticket44/testsuite.sh b/testsuite/gna/ticket44/testsuite.sh
new file mode 100755
index 000000000..45495a26b
--- /dev/null
+++ b/testsuite/gna/ticket44/testsuite.sh
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+analyze --std=02 file1.vhd
+analyze --std=02 file2.vhd
+
+clean
+
+echo "Test successful"