diff --git a/compiler/nadd.pas b/compiler/nadd.pas index 9b4b1db124..5731e1241b 100644 --- a/compiler/nadd.pas +++ b/compiler/nadd.pas @@ -2511,7 +2511,6 @@ implementation {$endif cpuneedsmulhelper} begin result:=nil; -{$ifndef jvm} { Can we optimize multiple string additions into a single call? This need to be done on a complete tree to detect the multiple add nodes and is therefor done before the subtrees are processed } @@ -2520,7 +2519,6 @@ implementation result := genmultistringadd(self); exit; end; -{$endif jvm} { first do the two subtrees } firstpass(left); firstpass(right); diff --git a/rtl/java/compproc.inc b/rtl/java/compproc.inc index 2d524f5e56..a4a1a5fcd4 100644 --- a/rtl/java/compproc.inc +++ b/rtl/java/compproc.inc @@ -308,7 +308,7 @@ Function fpc_AnsiStr_To_UnicodeStr (Const S2 : AnsiString): UnicodeString; compi Function fpc_UnicodeStr_To_WideStr (const S2 : UnicodeString): WideString; compilerproc; Function fpc_WideStr_To_UnicodeStr (Const S2 : WideString): UnicodeString; compilerproc; Function fpc_UnicodeStr_Concat (const S1,S2 : UnicodeString) : UnicodeString; compilerproc; -function fpc_UnicodeStr_Concat_multi (const sarr:array of Unicodestring): unicodestring; compilerproc; +procedure fpc_UnicodeStr_Concat_multi (var DestS:Unicodestring;const sarr:array of Unicodestring); compilerproc; Function fpc_Char_To_UnicodeStr(const c : AnsiChar): UnicodeString; compilerproc; Function fpc_CharArray_To_UnicodeStr(const arr: array of AnsiChar; zerobased: boolean = true): UnicodeString; compilerproc; diff --git a/rtl/java/ustrings.inc b/rtl/java/ustrings.inc index 6bef59066a..ad333f6d79 100644 --- a/rtl/java/ustrings.inc +++ b/rtl/java/ustrings.inc @@ -141,7 +141,7 @@ begin end; -function fpc_UnicodeStr_Concat_multi (const sarr:array of Unicodestring): unicodestring; compilerproc; +procedure fpc_UnicodeStr_Concat_multi (var DestS:Unicodestring;const sarr:array of Unicodestring); compilerproc; Var i : Longint; Size,NewSize : SizeInt; @@ -158,7 +158,7 @@ begin if length(sarr[i])>0 then sb.append(sarr[i]); end; - result:=sb.toString; + DestS:=sb.toString; end;