mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 20:09:25 +02:00
* record rather than immediately append encountered defs, so that we don't
emit the same def multiple times git-svn-id: trunk@32162 -
This commit is contained in:
parent
0fc9148784
commit
d7bda793f2
@ -180,7 +180,7 @@ implementation
|
||||
for opidx:=0 to p.ops-1 do
|
||||
case p.oper[opidx]^.typ of
|
||||
top_def:
|
||||
appenddef(deftypelist,p.oper[opidx]^.def);
|
||||
record_def(p.oper[opidx]^.def);
|
||||
top_tai:
|
||||
collect_tai_info(deftypelist,p.oper[opidx]^.ai);
|
||||
top_ref:
|
||||
@ -201,7 +201,7 @@ implementation
|
||||
for paraidx:=0 to p.oper[opidx]^.paras.count-1 do
|
||||
begin
|
||||
callpara:=pllvmcallpara(p.oper[opidx]^.paras[paraidx]);
|
||||
appenddef(deftypelist,callpara^.def);
|
||||
record_def(callpara^.def);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
@ -212,19 +212,21 @@ implementation
|
||||
case p.typ of
|
||||
ait_llvmalias:
|
||||
begin
|
||||
appenddef(deftypelist,taillvmalias(p).def);
|
||||
record_def(taillvmalias(p).def);
|
||||
record_asmsym_def(taillvmalias(p).newsym,taillvmalias(p).def,true);
|
||||
end;
|
||||
ait_llvmdecl:
|
||||
begin
|
||||
appenddef(deftypelist,taillvmdecl(p).def);
|
||||
if taillvmdecl(p).namesym.Name='\01_U_$OBJPAS_$$_EXCEPTIONCLASS' then
|
||||
writeln('here');
|
||||
record_def(taillvmdecl(p).def);
|
||||
record_asmsym_def(taillvmdecl(p).namesym,taillvmdecl(p).def,true);
|
||||
collect_asmlist_info(deftypelist,taillvmdecl(p).initdata);
|
||||
end;
|
||||
ait_llvmins:
|
||||
collect_llvmins_info(deftypelist,taillvm(p));
|
||||
ait_typedconst:
|
||||
appenddef(deftypelist,tai_abstracttypedconst(p).def);
|
||||
record_def(tai_abstracttypedconst(p).def);
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -472,7 +474,7 @@ implementation
|
||||
begin
|
||||
symdeflist:=tabstractrecordsymtable(def.symtable).llvmst.symdeflist;
|
||||
for i:=0 to symdeflist.Count-1 do
|
||||
appenddef(list,tllvmshadowsymtableentry(symdeflist[i]).def);
|
||||
record_def(tllvmshadowsymtableentry(symdeflist[i]).def);
|
||||
if assigned(def.typesym) then
|
||||
list.concat(taillvm.op_size(LA_TYPE,record_def(def)));
|
||||
end;
|
||||
|
Loading…
Reference in New Issue
Block a user