entity e is end entity; architecture a of e is begin process constant z :integer := 0; type t is array(0 to 0) of bit; procedure x( z :out bit_vector(0 to 0); f :out bit_vector(0 to 0) ) is begin end procedure; procedure x( z :out t; f :out bit_vector(0 to 0) ) is begin end procedure; function f(arg:t) return bit is begin end function; variable actual_for_f :bit; variable actual_for_z :t; -- bit begin x( f(z) => actual_for_f, f(z) => actual_for_z ); end process; end architecture;