mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-21 20:39:36 +01:00
* write_paralocs() takes a pcgpara instead of a tparavarsym as this is needed for the result location as well
git-svn-id: trunk@35287 -
This commit is contained in:
parent
f905303c4a
commit
cf18b7116e
@ -28,7 +28,8 @@ interface
|
|||||||
uses
|
uses
|
||||||
cclasses,constexp,
|
cclasses,constexp,
|
||||||
aasmbase,aasmcnst,
|
aasmbase,aasmcnst,
|
||||||
symbase,symconst,symtype,symdef,symsym;
|
symbase,symconst,symtype,symdef,symsym,
|
||||||
|
parabase;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
@ -60,7 +61,7 @@ interface
|
|||||||
procedure write_header(tcb: ttai_typedconstbuilder; def: tdef; typekind: byte);
|
procedure write_header(tcb: ttai_typedconstbuilder; def: tdef; typekind: byte);
|
||||||
function write_methodkind(tcb:ttai_typedconstbuilder;def:tabstractprocdef):byte;
|
function write_methodkind(tcb:ttai_typedconstbuilder;def:tabstractprocdef):byte;
|
||||||
procedure write_callconv(tcb:ttai_typedconstbuilder;def:tabstractprocdef);
|
procedure write_callconv(tcb:ttai_typedconstbuilder;def:tabstractprocdef);
|
||||||
procedure write_paralocs(tcb:ttai_typedconstbuilder;parasym:tparavarsym);
|
procedure write_paralocs(tcb:ttai_typedconstbuilder;para:pcgpara);
|
||||||
procedure write_param_flag(tcb:ttai_typedconstbuilder;parasym:tparavarsym);
|
procedure write_param_flag(tcb:ttai_typedconstbuilder;parasym:tparavarsym);
|
||||||
public
|
public
|
||||||
constructor create;
|
constructor create;
|
||||||
@ -86,7 +87,7 @@ implementation
|
|||||||
symtable,
|
symtable,
|
||||||
aasmtai,aasmdata,
|
aasmtai,aasmdata,
|
||||||
defutil,
|
defutil,
|
||||||
parabase,paramgr,
|
paramgr,
|
||||||
wpobase
|
wpobase
|
||||||
;
|
;
|
||||||
|
|
||||||
@ -247,12 +248,12 @@ implementation
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TRTTIWriter.write_paralocs(tcb:ttai_typedconstbuilder;parasym:tparavarsym);
|
procedure TRTTIWriter.write_paralocs(tcb:ttai_typedconstbuilder;para:pcgpara);
|
||||||
var
|
var
|
||||||
locs : trttiparalocs;
|
locs : trttiparalocs;
|
||||||
i : longint;
|
i : longint;
|
||||||
begin
|
begin
|
||||||
locs:=paramanager.cgparalocs_to_rttiparalocs(parasym.paraloc[callerside].location);
|
locs:=paramanager.cgparalocs_to_rttiparalocs(para^.location);
|
||||||
if length(locs)>high(byte) then
|
if length(locs)>high(byte) then
|
||||||
internalerror(2017010601);
|
internalerror(2017010601);
|
||||||
tcb.emit_ord_const(length(locs),u8inttype);
|
tcb.emit_ord_const(length(locs),u8inttype);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user