verilog: add sv_maps iterators
[ghdl-vlg.git] / testsuite / synth / issue1407 / repro.vhdl
blob1d99bd0fc7907a82cb5efec1e4e141869cb38b81
1 library ieee;
2 use ieee.std_logic_1164.all;
4 entity repro is
5   port (a : std_logic_vector (3 downto 0);
6         o : out std_logic_vector (3 downto 0));
7 end;
9 architecture behav of repro is
10   function cancel (a : std_logic_vector) return std_logic_vector
11   is
12     variable en : boolean := false;
13     variable res : std_logic_vector (a'range);
14   begin
15     if a'length = 0 then
16       en := true;
17     end if;
18     res := a;
19     if en then
20       res (7) := '0';
21     end if;
22     return res;
23   end cancel;
24 begin
25   o <= cancel (a);
26 end behav;