aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/ticket98
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/gna/ticket98')
-rw-r--r--testsuite/gna/ticket98/junk1.vhd30
-rw-r--r--testsuite/gna/ticket98/junk1ok.vhd30
-rwxr-xr-xtestsuite/gna/ticket98/testsuite.sh11
3 files changed, 71 insertions, 0 deletions
diff --git a/testsuite/gna/ticket98/junk1.vhd b/testsuite/gna/ticket98/junk1.vhd
new file mode 100644
index 000000000..a42ad6d0f
--- /dev/null
+++ b/testsuite/gna/ticket98/junk1.vhd
@@ -0,0 +1,30 @@
+package pkg_FileIO is
+ -------------------------------
+ -- Define some basic data types
+ -------------------------------
+ subtype t_BYTE is integer range 0 to 2**8 - 1;
+
+ ---------------------------------------
+ -- And arrays of those basic data types
+ ---------------------------------------
+ type arr_t_BYTE is array(natural range <>) of t_BYTE;
+
+ ----------------------------
+ -- And a pointer to an array
+ ----------------------------
+ type ptr_arr_t_BYTE is access arr_t_BYTE;
+
+ procedure Read_File(File_Name: in STRING; Data: out ptr_arr_t_BYTE; Length: out integer);
+end pkg_FileIO;
+
+package body pkg_FileIO is
+ procedure Read_File(File_Name: in STRING; Data: out ptr_arr_t_BYTE; Length: out integer) is
+ begin
+ Data := new arr_t_BYTE(0 to 10);
+ for i in 0 to 10 loop
+ Data(i) := 0; -- Comment this line out and GHDL is happy
+ end loop;
+ Length := 11;
+ end Read_File;
+end pkg_FileIO;
+
diff --git a/testsuite/gna/ticket98/junk1ok.vhd b/testsuite/gna/ticket98/junk1ok.vhd
new file mode 100644
index 000000000..9c286cf87
--- /dev/null
+++ b/testsuite/gna/ticket98/junk1ok.vhd
@@ -0,0 +1,30 @@
+package pkg_FileIO is
+ -------------------------------
+ -- Define some basic data types
+ -------------------------------
+ subtype t_BYTE is integer range 0 to 2**8 - 1;
+
+ ---------------------------------------
+ -- And arrays of those basic data types
+ ---------------------------------------
+ type arr_t_BYTE is array(natural range <>) of t_BYTE;
+
+ ----------------------------
+ -- And a pointer to an array
+ ----------------------------
+ type ptr_arr_t_BYTE is access arr_t_BYTE;
+
+ procedure Read_File(File_Name: in STRING; Data: inout ptr_arr_t_BYTE; Length: out integer);
+end pkg_FileIO;
+
+package body pkg_FileIO is
+ procedure Read_File(File_Name: in STRING; Data: inout ptr_arr_t_BYTE; Length: out integer) is
+ begin
+ Data := new arr_t_BYTE(0 to 10);
+ for i in 0 to 10 loop
+ Data(i) := 0; -- Comment this line out and GHDL is happy
+ end loop;
+ Length := 11;
+ end Read_File;
+end pkg_FileIO;
+
diff --git a/testsuite/gna/ticket98/testsuite.sh b/testsuite/gna/ticket98/testsuite.sh
new file mode 100755
index 000000000..1b5548dbb
--- /dev/null
+++ b/testsuite/gna/ticket98/testsuite.sh
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+. ../../testenv.sh
+
+analyze_failure junk1.vhd
+analyze --std=08 junk1.vhd
+analyze junk1ok.vhd
+clean
+clean --std=08
+
+echo "Test successful"