Browse Source

- reverted 679f3968901f0d565644d59e046eb25d5402f027, because it requires
support for concat_multi for ansistrings to prevent compilation
problems there

git-svn-id: branches/jvmbackend@18545 -

Jonas Maebe 14 years ago
parent
commit
b60e50b2b0
3 changed files with 5 additions and 3 deletions
  1. 2 0
      compiler/nadd.pas
  2. 1 1
      rtl/java/compproc.inc
  3. 2 2
      rtl/java/ustrings.inc

+ 2 - 0
compiler/nadd.pas

@@ -2511,6 +2511,7 @@ 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 }
@@ -2519,6 +2520,7 @@ implementation
              result := genmultistringadd(self);
              exit;
            end;
+{$endif jvm}
          { first do the two subtrees }
          firstpass(left);
          firstpass(right);

+ 1 - 1
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;
-procedure fpc_UnicodeStr_Concat_multi (var DestS:Unicodestring;const sarr:array of Unicodestring); compilerproc;
+function fpc_UnicodeStr_Concat_multi (const sarr:array of Unicodestring): 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;
 

+ 2 - 2
rtl/java/ustrings.inc

@@ -141,7 +141,7 @@ begin
 end;
 
 
-procedure fpc_UnicodeStr_Concat_multi (var DestS:Unicodestring;const sarr:array of Unicodestring); compilerproc;
+function fpc_UnicodeStr_Concat_multi (const sarr:array of Unicodestring): unicodestring; compilerproc;
 Var
   i  : Longint;
   Size,NewSize : SizeInt;
@@ -158,7 +158,7 @@ begin
       if length(sarr[i])>0 then
         sb.append(sarr[i]);
     end;
-  DestS:=sb.toString;
+  result:=sb.toString;
 end;