Skip to content

Commit

Permalink
Add testcase for ticket98
Browse files Browse the repository at this point in the history
  • Loading branch information
gingold-adacore committed Dec 21, 2015
1 parent 39a3405 commit ef5d600
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 0 deletions.
30 changes: 30 additions & 0 deletions testsuite/gna/ticket98/junk1.vhd
Original file line number Diff line number Diff line change
@@ -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;

30 changes: 30 additions & 0 deletions testsuite/gna/ticket98/junk1ok.vhd
Original file line number Diff line number Diff line change
@@ -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;

11 changes: 11 additions & 0 deletions testsuite/gna/ticket98/testsuite.sh
Original file line number Diff line number Diff line change
@@ -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"

0 comments on commit ef5d600

Please sign in to comment.