mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-11-19 15:59:40 +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
|
||||
cclasses,constexp,
|
||||
aasmbase,aasmcnst,
|
||||
symbase,symconst,symtype,symdef,symsym;
|
||||
symbase,symconst,symtype,symdef,symsym,
|
||||
parabase;
|
||||
|
||||
type
|
||||
|
||||
@ -60,7 +61,7 @@ interface
|
||||
procedure write_header(tcb: ttai_typedconstbuilder; def: tdef; typekind: byte);
|
||||
function write_methodkind(tcb:ttai_typedconstbuilder;def:tabstractprocdef):byte;
|
||||
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);
|
||||
public
|
||||
constructor create;
|
||||
@ -86,7 +87,7 @@ implementation
|
||||
symtable,
|
||||
aasmtai,aasmdata,
|
||||
defutil,
|
||||
parabase,paramgr,
|
||||
paramgr,
|
||||
wpobase
|
||||
;
|
||||
|
||||
@ -247,12 +248,12 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
procedure TRTTIWriter.write_paralocs(tcb:ttai_typedconstbuilder;parasym:tparavarsym);
|
||||
procedure TRTTIWriter.write_paralocs(tcb:ttai_typedconstbuilder;para:pcgpara);
|
||||
var
|
||||
locs : trttiparalocs;
|
||||
i : longint;
|
||||
begin
|
||||
locs:=paramanager.cgparalocs_to_rttiparalocs(parasym.paraloc[callerside].location);
|
||||
locs:=paramanager.cgparalocs_to_rttiparalocs(para^.location);
|
||||
if length(locs)>high(byte) then
|
||||
internalerror(2017010601);
|
||||
tcb.emit_ord_const(length(locs),u8inttype);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user