entity e is
end entity;

architecture a of e is
	function foo(n : positive) return bit_vector is
	begin
		return (n downto 0 => '0');
	end function;
begin
	process
	begin
		for i in foo(3)'range loop
			report integer'image(i);
		end loop;
		
		for i in foo(2)'reverse_range loop
			report integer'image(i + foo(4)'length);
		end loop;
		
		wait; --forever
	end process;
end architecture;