diff options
-rw-r--r-- | testsuite/gna/bug024/ppkg.vhdl | 23 | ||||
-rw-r--r-- | testsuite/gna/bug024/ppkg1.vhdl | 24 | ||||
-rwxr-xr-x | testsuite/gna/bug024/testsuite.sh | 10 |
3 files changed, 57 insertions, 0 deletions
diff --git a/testsuite/gna/bug024/ppkg.vhdl b/testsuite/gna/bug024/ppkg.vhdl new file mode 100644 index 0000000..408a8dd --- /dev/null +++ b/testsuite/gna/bug024/ppkg.vhdl @@ -0,0 +1,23 @@ +package ppkg is + procedure rep1 (msg : string := "failure"); + procedure rep2; + procedure rep3; +end ppkg; + +package body ppkg is + procedure rep1 (msg : string := "failure") is + begin + report msg; + end rep1; + + procedure rep2 is + begin + rep1; + rep1; + end rep2; + + procedure rep3 is + begin + rep1; + end rep3; +end ppkg; diff --git a/testsuite/gna/bug024/ppkg1.vhdl b/testsuite/gna/bug024/ppkg1.vhdl new file mode 100644 index 0000000..88b7128 --- /dev/null +++ b/testsuite/gna/bug024/ppkg1.vhdl @@ -0,0 +1,24 @@ +package ppkg1 is + type line is access string; + procedure rep1 (variable msg : line := new string (1 to 7)); + procedure rep2; + procedure rep3; +end ppkg1; + +package body ppkg is + procedure rep1 (msg : line := new string (1 to 7)) is + begin + msg.all := (others => ' '); + end rep1; + + procedure rep2 is + begin + rep1; + rep1; + end rep2; + + procedure rep3 is + begin + rep1; + end rep3; +end ppkg; diff --git a/testsuite/gna/bug024/testsuite.sh b/testsuite/gna/bug024/testsuite.sh new file mode 100755 index 0000000..d0b6db0 --- /dev/null +++ b/testsuite/gna/bug024/testsuite.sh @@ -0,0 +1,10 @@ +#! /bin/sh + +. ../../testenv.sh + +analyze ppkg.vhdl +analyze_failure ppkg1.vhdl + +clean + +echo "Test successful" |