﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
1360	Rewrite assignment of function String outputs	Martin Sjölund	Martin Sjölund	"Things that are stored in the memory pool are not handled correctly on function return:

{{{package P

function weirdStrStuff
  input String str;
  output String os1;
  output String os2;
algorithm
  os1 := ""os1"";
  os2 := ""os2"";
end weirdStrStuff;

function weirdStrStuff1
  input String str;
  output String os;
  String os1,os2;
algorithm
  (os1,os2) := weirdStrStuff(str);
  os := ""overwritethecharpoolhere"";
  os := os1+os2;
end weirdStrStuff1;

  constant String str1 = weirdStrStuff1(""abc"");
end P;}}}

str1 = ""overwritethecharpoolhere"" if we enable the memory pool

Currently, we malloc() all strings instead of using the string pool because of this bug."	defect	closed	high				fixed		Martin Sjölund Martin Sjölund
