diff options
-rw-r--r-- | testsuite/gna/ticket98/junk1.vhd | 30 | ||||
-rw-r--r-- | testsuite/gna/ticket98/junk1ok.vhd | 30 | ||||
-rwxr-xr-x | testsuite/gna/ticket98/testsuite.sh | 11 |
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 0000000..a42ad6d --- /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 0000000..9c286cf --- /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 0000000..1b5548d --- /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" |