diff options
Diffstat (limited to 'compiler/powerpc64/cpupara.pas')
-rw-r--r-- | compiler/powerpc64/cpupara.pas | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/powerpc64/cpupara.pas b/compiler/powerpc64/cpupara.pas index 700e00df3c..94e8bc4af6 100644 --- a/compiler/powerpc64/cpupara.pas +++ b/compiler/powerpc64/cpupara.pas @@ -40,7 +40,7 @@ type function push_addr_param(varspez: tvarspez; def: tdef; calloption: tproccalloption): boolean; override; - procedure getintparaloc(calloption: tproccalloption; nr: longint; def: tdef; var cgpara: tcgpara); override; + procedure getintparaloc(pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); override; function create_paraloc_info(p: tabstractprocdef; side: tcallercallee): longint; override; function create_varargs_paraloc_info(p: tabstractprocdef; varargspara: tvarargsparalist): longint; override; @@ -77,14 +77,16 @@ begin result := [RS_F0..RS_F13]; end; -procedure tppcparamanager.getintparaloc(calloption: tproccalloption; nr: longint; def : tdef; var cgpara: tcgpara); +procedure tppcparamanager.getintparaloc(pd : tabstractprocdef; nr: longint; var cgpara: tcgpara); var paraloc: pcgparalocation; + def: tdef; begin + def:=tparavarsym(pd.paras[nr-1]).vardef; cgpara.reset; cgpara.size := def_cgsize(def); cgpara.intsize := tcgsize2size[cgpara.size]; - cgpara.alignment := get_para_align(calloption); + cgpara.alignment := get_para_align(pd.proccalloption); cgpara.def:=def; paraloc := cgpara.add_location; with paraloc^ do begin |