Browse Source

* Call fpc_shortstr_to_shortstr instead of fpc_shortstr_assign. It is the same procedure with different order of parameters (suited for generation from node level). Now fpc_shortstr_assign remains needed only for bootstrapping.

git-svn-id: trunk@27618 -
sergei 11 years ago
parent
commit
1ec5026465
1 changed files with 7 additions and 7 deletions
  1. 7 7
      compiler/hlcgobj.pas

+ 7 - 7
compiler/hlcgobj.pas

@@ -2993,7 +2993,7 @@ implementation
       cgpara1,cgpara2,cgpara3 : TCGPara;
       cgpara1,cgpara2,cgpara3 : TCGPara;
       pd : tprocdef;
       pd : tprocdef;
     begin
     begin
-      pd:=search_system_proc('fpc_shortstr_assign');
+      pd:=search_system_proc('fpc_shortstr_to_shortstr');
       cgpara1.init;
       cgpara1.init;
       cgpara2.init;
       cgpara2.init;
       cgpara3.init;
       cgpara3.init;
@@ -3002,15 +3002,15 @@ implementation
       paramanager.getintparaloc(pd,3,cgpara3);
       paramanager.getintparaloc(pd,3,cgpara3);
       if pd.is_pushleftright then
       if pd.is_pushleftright then
         begin
         begin
-          a_load_const_cgpara(list,s32inttype,strdef.len,cgpara1);
-          a_loadaddr_ref_cgpara(list,strdef,source,cgpara2);
-          a_loadaddr_ref_cgpara(list,strdef,dest,cgpara3);
+          a_loadaddr_ref_cgpara(list,strdef,dest,cgpara1);
+          a_load_const_cgpara(list,s32inttype,strdef.len,cgpara2);
+          a_loadaddr_ref_cgpara(list,strdef,source,cgpara3);
         end
         end
       else
       else
         begin
         begin
-          a_loadaddr_ref_cgpara(list,strdef,dest,cgpara3);
-          a_loadaddr_ref_cgpara(list,strdef,source,cgpara2);
-          a_load_const_cgpara(list,s32inttype,strdef.len,cgpara1);
+          a_loadaddr_ref_cgpara(list,strdef,source,cgpara3);
+          a_load_const_cgpara(list,s32inttype,strdef.len,cgpara2);
+          a_loadaddr_ref_cgpara(list,strdef,dest,cgpara1);
         end;
         end;
       paramanager.freecgpara(list,cgpara3);
       paramanager.freecgpara(list,cgpara3);
       paramanager.freecgpara(list,cgpara2);
       paramanager.freecgpara(list,cgpara2);