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 z : __ghdl_integer; begin z := v +# w; w := z; end; return w; end;