diff options
author | sergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2014-04-20 19:27:05 +0000 |
---|---|---|
committer | sergei <sergei@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2014-04-20 19:27:05 +0000 |
commit | bf2e6542a16340bd25efab96a316fe7bdc7af4e9 (patch) | |
tree | 28792e0692b29dd94638685b5ae5b9695aaa353d /compiler/hlcgobj.pas | |
parent | a36b90686f7ba2c416a3440d5bf421a5ca8302ca (diff) | |
download | fpc-bf2e6542a16340bd25efab96a316fe7bdc7af4e9.tar.gz |
* 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: http://svn.freepascal.org/svn/fpc/trunk@27618 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/hlcgobj.pas')
-rw-r--r-- | compiler/hlcgobj.pas | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/compiler/hlcgobj.pas b/compiler/hlcgobj.pas index ae45e7c876..de60c9909a 100644 --- a/compiler/hlcgobj.pas +++ b/compiler/hlcgobj.pas @@ -2993,7 +2993,7 @@ implementation cgpara1,cgpara2,cgpara3 : TCGPara; pd : tprocdef; begin - pd:=search_system_proc('fpc_shortstr_assign'); + pd:=search_system_proc('fpc_shortstr_to_shortstr'); cgpara1.init; cgpara2.init; cgpara3.init; @@ -3002,15 +3002,15 @@ implementation paramanager.getintparaloc(pd,3,cgpara3); if pd.is_pushleftright then 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 else 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; paramanager.freecgpara(list,cgpara3); paramanager.freecgpara(list,cgpara2); |