diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-05-07 20:05:57 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-05-07 20:05:57 +0200 |
commit | 34666ab2dc542936871357d4fe6f54600c5aa325 (patch) | |
tree | 5713c8b4077f263641e25788e4bc3080289016d1 /testsuite/gna/issue816/repro.vhdl | |
parent | a5b13e2e4b25d8b1258fa2af19b8840b39a2942f (diff) | |
download | ghdl-34666ab2dc542936871357d4fe6f54600c5aa325.tar.gz ghdl-34666ab2dc542936871357d4fe6f54600c5aa325.tar.bz2 ghdl-34666ab2dc542936871357d4fe6f54600c5aa325.zip |
Add reproducer for #816
Diffstat (limited to 'testsuite/gna/issue816/repro.vhdl')
-rw-r--r-- | testsuite/gna/issue816/repro.vhdl | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/testsuite/gna/issue816/repro.vhdl b/testsuite/gna/issue816/repro.vhdl new file mode 100644 index 000000000..f67e38825 --- /dev/null +++ b/testsuite/gna/issue816/repro.vhdl @@ -0,0 +1,40 @@ +library ieee; +context ieee.ieee_std_context; + +package integer_vector_ptr_pkg is + subtype index_t is integer range -1 to integer'high; + type integer_vector_ptr_t is record + index : index_t; + end record; + + impure function get(ptr : integer_vector_ptr_t; index : integer) + return integer; + +end package; + +entity tb_test is + generic ( runner_cfg : string ); +end entity; + +use work.integer_vector_ptr_pkg.all; + +architecture tb of tb_test is + + constant params: integer_vector_ptr_t := (index => 0); + + type time_t is array (natural range 0 to 1) of natural; + + procedure get_time(variable t: inout time_t) is begin + t(0) := get(params, 0); + t(1) := get(params, 1); + end; + +begin + + run: process(all) + variable r: time_t; + begin + get_time(r); + end process; + +end architecture; |