type __ghdl_integer is signed (32); public function test_arg (v : __ghdl_integer) return __ghdl_integer declare local var w : __ghdl_integer; begin w := v; declare local var b1 : __ghdl_integer; begin b1 := w; w := b1; declare local var b2 : __ghdl_integer; begin b2 := w; w := b2; end; declare local var b3 : __ghdl_integer; begin b3 := w; w := b3; end; end; declare local var b4 : __ghdl_integer; begin b4 := w; w := b4; end; return w; end;