summaryrefslogtreecommitdiff
path: root/compiler/arm/cpupara.pas
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/arm/cpupara.pas')
-rw-r--r--compiler/arm/cpupara.pas6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/arm/cpupara.pas b/compiler/arm/cpupara.pas
index 1eb224bf79..9fadf988b4 100644
--- a/compiler/arm/cpupara.pas
+++ b/compiler/arm/cpupara.pas
@@ -38,7 +38,7 @@ unit cpupara;
function get_volatile_registers_mm(calloption : tproccalloption):tcpuregisterset;override;
function push_addr_param(varspez:tvarspez;def : tdef;calloption : tproccalloption) : boolean;override;
function ret_in_param(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;
function get_funcretloc(p : tabstractprocdef; side: tcallercallee; forcetempdef: tdef): tcgpara;override;
@@ -76,12 +76,14 @@ unit cpupara;
end;
- procedure tarmparamanager.getintparaloc(calloption : tproccalloption; nr : longint; def : tdef; var cgpara : tcgpara);
+ procedure tarmparamanager.getintparaloc(pd : tabstractprocdef; nr : longint; var cgpara : tcgpara);
var
paraloc : pcgparalocation;
+ def : tdef;
begin
if nr<1 then
internalerror(2002070801);
+ def:=tparavarsym(pd.paras[nr-1]).vardef;
cgpara.reset;
cgpara.size:=def_cgsize(def);
cgpara.intsize:=tcgsize2size[cgpara.size];