aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/gna/issue807/reproct.vhdl
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/gna/issue807/reproct.vhdl')
-rw-r--r--testsuite/gna/issue807/reproct.vhdl43
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 ;