1package A_NG is 2 type A_NG_TYPE is record 3 debug : integer; 4 end record; 5 procedure PROC_B(B_ARG:inout A_NG_TYPE; B_VAL:out integer); 6end A_NG; 7package body A_NG is 8 procedure PROC_A(A_ARG:inout A_NG_TYPE) is 9 begin 10 A_ARG.debug := A_ARG.debug + 1; 11 end procedure; 12 procedure PROC_B(B_ARG:inout A_NG_TYPE; B_VAL:out integer) is 13 procedure PROC_C(C_VAL:out integer) is 14 begin 15 PROC_A(B_ARG); 16 C_VAL := B_ARG.debug; 17 end procedure; 18 begin 19 PROC_C(B_VAL); 20 end procedure; 21end A_NG; 22 23------------------------------------------------------------------------------- 24 25entity issue146 is 26end entity; 27 28use work.a_ng.all; 29 30architecture test of issue146 is 31begin 32 33 process is 34 variable a_arg : a_ng_type := ( debug => 4 ); 35 variable c_val : integer; 36 begin 37 proc_b(a_arg, c_val); 38 assert c_val = 5; 39 wait; 40 end process; 41 42end architecture; 43