library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;

entity ent is
end entity;

architecture a of ent is
begin
  main : process
  procedure proc(constant value : unsigned)  is
    variable a : integer := value'length;
    variable b : integer := (value'length - 1)/2;
  begin
    report "x       = " & integer'image(a);
    report "(x-1)/2 = " & integer'image(b);
    assert a = 0 and b = 0 severity failure;
  end procedure;

   variable value : unsigned(0 downto 1);
  begin
    proc(unsigned'(""));
    proc(value);
    wait;
  end process;
end architecture;