mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 21:29:19 +02:00
* gen_alloc_symtable: don't use current_procinfo.procdef, the necessary procdef is passed in 'pd' parameter.
git-svn-id: trunk@26663 -
This commit is contained in:
parent
b7d94992eb
commit
53556f529d
@ -1553,10 +1553,10 @@ implementation
|
||||
vs:=tabstractnormalvarsym(sym);
|
||||
{ Parameters passed to assembler procedures need to be kept
|
||||
in the original location }
|
||||
if (po_assembler in current_procinfo.procdef.procoptions) then
|
||||
if (po_assembler in pd.procoptions) then
|
||||
tparavarsym(vs).paraloc[calleeside].get_location(vs.initialloc)
|
||||
{ exception filters receive their frame pointer as a parameter }
|
||||
else if (current_procinfo.procdef.proctypeoption=potype_exceptfilter) and
|
||||
else if (pd.proctypeoption=potype_exceptfilter) and
|
||||
(vo_is_parentfp in vs.varoptions) then
|
||||
begin
|
||||
location_reset(vs.initialloc,LOC_REGISTER,OS_ADDR);
|
||||
@ -1564,7 +1564,7 @@ implementation
|
||||
end
|
||||
else
|
||||
begin
|
||||
isaddr:=paramanager.push_addr_param(vs.varspez,vs.vardef,current_procinfo.procdef.proccalloption);
|
||||
isaddr:=paramanager.push_addr_param(vs.varspez,vs.vardef,pd.proccalloption);
|
||||
if isaddr then
|
||||
vs.initialloc.size:=OS_ADDR
|
||||
else
|
||||
@ -1596,7 +1596,7 @@ implementation
|
||||
begin
|
||||
vs:=tabstractnormalvarsym(sym);
|
||||
vs.initialloc.size:=def_cgsize(vs.vardef);
|
||||
if ([po_assembler,po_nostackframe] * current_procinfo.procdef.procoptions = [po_assembler,po_nostackframe]) and
|
||||
if ([po_assembler,po_nostackframe] * pd.procoptions = [po_assembler,po_nostackframe]) and
|
||||
(vo_is_funcret in vs.varoptions) then
|
||||
begin
|
||||
paramanager.create_funcretloc_info(pd,calleeside);
|
||||
@ -1610,7 +1610,7 @@ implementation
|
||||
pd.funcretloc[calleeside].get_location(vs.initialloc);
|
||||
end
|
||||
else if (m_delphi in current_settings.modeswitches) and
|
||||
(po_assembler in current_procinfo.procdef.procoptions) and
|
||||
(po_assembler in pd.procoptions) and
|
||||
(vo_is_funcret in vs.varoptions) and
|
||||
(vs.refs=0) then
|
||||
begin
|
||||
|
Loading…
Reference in New Issue
Block a user