diff options
Diffstat (limited to 'testsuite/gna/ticket44')
-rw-r--r-- | testsuite/gna/ticket44/file1.vhd | 23 | ||||
-rw-r--r-- | testsuite/gna/ticket44/file2.vhd | 13 | ||||
-rwxr-xr-x | testsuite/gna/ticket44/testsuite.sh | 10 |
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" |