diff options
Diffstat (limited to 'testsuite/gna/issue807/reproct.vhdl')
-rw-r--r-- | testsuite/gna/issue807/reproct.vhdl | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/testsuite/gna/issue807/reproct.vhdl b/testsuite/gna/issue807/reproct.vhdl new file mode 100644 index 000000000..d8a82eec2 --- /dev/null +++ b/testsuite/gna/issue807/reproct.vhdl @@ -0,0 +1,43 @@ +entity reproct is + generic ( lowb : integer := 1 ; + highb : integer := 10 ; + lowb_i2 : integer := 0 ; + highb_i2 : integer := 1000 ); + + constant c_boolean_1 : boolean := false ; + constant c_boolean_2 : boolean := true ; + constant c_integer_1 : integer := lowb ; + constant c_integer_2 : integer := highb ; + constant c_time_1 : time := 1 ns ; + constant c_time_2 : time := 2 ns ; + constant c_real_1 : real := 0.0 ; + constant c_real_2 : real := 1.0 ; + + type t_rec1 is record + f1 : integer range lowb_i2 to highb_i2 ; + f2 : time ; + f3 : boolean ; + f4 : real ; + end record ; + constant c_t_rec1_1 : t_rec1 := + (c_integer_1, c_time_1, c_boolean_1, c_real_1) ; + constant c_t_rec1_2 : t_rec1 := + (c_integer_2, c_time_2, c_boolean_2, c_real_2) ; + subtype st_rec1 is t_rec1 ; + constant c_st_rec1_1 : st_rec1 := c_t_rec1_1 ; + constant c_st_rec1_2 : st_rec1 := c_t_rec1_2 ; + +end; + +architecture ARCH of reproct is + signal i_t_rec1_1, i_t_rec1_2 : st_rec1 + := c_st_rec1_1 ; +begin + L1: + block + port (i_t_rec1_1 : inout t_rec1 := c_st_rec1_1 ) ; + port map (i_t_rec1_1) ; + begin + i_t_rec1_1 <= c_st_rec1_2 ; + end block L1 ; +end ARCH ; |